繁体   English   中英

ASP.Net转发器响应控件绑定

[英]ASP.Net Repeater Responsive Controls Binding

我具有用于带有复选框选项和ASP.NET中继器的搜索属性的ASP.Net控件。 对于自适应设计,我在两个不同的地方具有相同的绑定以匹配设计。

在这里,CheckBoxList ID = Options1&ID = Options2都具有相同的绑定,但是代码将重复。 我有400行用于检查单装订条件。 我必须为另一个视图再次复制所有代码。 有什么方法可以优化代码以对两个视图进行单绑定。 (避免重复绑定和检查)?

// Desktop View

<div class="hidden-sm hidden-xs narrowSearch">
//Content
<asp:Repeater ID="rptAttributes1" runat="server" EnableViewState="true" OnItemDataBound="rptAttributes_ItemDataBound">
<ItemTemplate>
<li>
<div class="form">
<asp:CheckBoxList ID="Options1" runat="server" AutoPostBack="false" Visible="false"
DataTextField="EnOptionName" DataValueField="SubCategoryAttributeOptionID" Font-Strikeout="False" />
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</div>

// Mobile view

 <div class="sec_left  hidden-lg hidden-md"> 
 <div class="moremenu narrowSearch">
//Content
 <asp:Repeater ID="rptAttribute2" runat="server" EnableViewState="true" OnItemDataBound="rptAttributes_ItemDataBound">
<ItemTemplate>
<li>
<div class="form">
<asp:CheckBoxList ID="Options2" runat="server" AutoPostBack="false" Visible="false"
DataTextField="EnOptionName" DataValueField="SubCategoryAttributeOptionID" Font-Strikeout="False" />
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</div>
</div>

背后的代码:

 CheckBoxList chklOptions1 = item.FindControl("Options1") as CheckBoxList;
 CheckBoxList chklOptions2 = item.FindControl("Options2") as CheckBoxList;

您可以将转发器(包括说明性代码以及页面代码背后的内容)放入自定义用户控件中。 然后,将用户控件放在页面的每个部分(台式机和移动设备)中。 这是避免重复代码的最简单方法。 话虽如此,由于您仅提供了页面代码隐藏类中的部分代码,因此,当您移动页面代码隐藏中的命令性代码时,我无法说出可能需要进行哪些更改用户控件的类。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM