Tag: asprepeater

使用LINQ查询对内部中继器进行排序

我试图列出一组关联,每个关联中都有一个分配给关联的“窗口小部件”。 该列表将包括关联名称和分配给它的任何小部件。 问题是内部窗口小部件列表需要按DisplaySequence排序。 EDMX模型如下: 简化的中继器标记 <div data-type="assn" id="”> – <asp:Repeater runat="server" ID="rptWidgets" DataSource="” > <li id="”> 当前查询 var associations = (from a in context.Associations.Include(“AssociationWidgets”) .Include(“AssociationWidgets.Widget”) orderby a.Acronym select a).ToList(); rptAssociations.DataSource = associations; rptAssociations.DataBind(); 我现在能够通过我现在的设置获取我正在寻找的数据。 我正在寻找获得相同数据的最有效方法,但是,以正确的显示顺序列出小部件。 我应该采用不同的linq查询方法吗?

维护转发器的视图状态

我有一个问题,即转发器的视图状态,即转发器内的控件不维护其视图状态。 我有以下内容: 中继器1: <asp:LinkButton Text="Add" CommandName="Add" CommandArgument= runat=”server” /> 单击链接按钮时,CommandArgument的值将存储在页面上的隐藏字段中。 回发后,在加载prerender事件处理程序之前,我无法获取隐藏字段的值。 所以在我的prerender事件中,我获取隐藏字段的值并将其存储在List属性中,如下所示: if (!string.IsNullOrEmpty(this.SelectedImageIDsInput.Text)) { this.ImageList.Add(this.SelectedImageIDsInput.Text); } List属性如下所示: public List ImageList { get { if (this.ViewState[“ImageList”] == null) { this.ViewState[“ImageList”] = new List(); } return (List)(this.ViewState[“ImageList”]); } set { this.ViewState[“ImageString”] = value; } } 一旦我将值存储到我的List属性中,我就绑定了我的第二个转发器(再次在prerender事件中): this.rptSelectedImages.DataSource = this.LightBoxControl.ImageList; this.rptSelectedImages.DataBind(); 第二个中继器有一个下拉列表和一个文本框。 问题是不维护这些子控件的视图状态。 我认为这是因为每次回发我重新绑定转发器,因此它被重建。 我不知道的是我怎么可能绕过这个? ImageList属性仅在回发时更新,因此我显然必须使用每个回发重新绑定转发器 – […]