C# 如何在中继器内设置DropDownList的选定值?
我需要创建一组DropDownLists来显示并允许更改项目的属性组 我的ASP页面上有以下代码C# 如何在中继器内设置DropDownList的选定值?,c#,asp.net,data-binding,drop-down-menu,repeater,C#,Asp.net,Data Binding,Drop Down Menu,Repeater,我需要创建一组DropDownLists来显示并允许更改项目的属性组 我的ASP页面上有以下代码 <asp:Repeater runat="server" ID="repeaterProperties"> <ItemTemplate> <p><asp:DropDownList runat="server" ID="ddProperty" OnInit="ddProperty_OnInit" /><p> &
<asp:Repeater runat="server" ID="repeaterProperties">
<ItemTemplate>
<p><asp:DropDownList runat="server" ID="ddProperty" OnInit="ddProperty_OnInit" /><p>
</ItemTemplate>
</asp:Repeater>
在代码隐藏中,ddJako_OnInit用所有可能的选项填充下拉列表,而repeater_ItemDataBound使用Bryan Parker建议的方法来选择适当的值。也许我误解了您的问题。。。但似乎这正是OnItemDataBound的目的 使用FindControl在事件处理程序中获取对DropDownList的引用。还要检查以确保项目不是页眉/页脚。MSDN中的示例实现了以下两个功能:
也许我误解了你的问题。。。但似乎这正是OnItemDataBound的目的 使用FindControl在事件处理程序中获取对DropDownList的引用。还要检查以确保项目不是页眉/页脚。MSDN中的示例实现了以下两个功能:
关于我在编辑中指定的问题,数据绑定的时间起着重要作用。我曾经在Page_Init事件中执行数据绑定,这导致在button_OnClick事件之前触发repeater_ItemDataBound事件 解决方案是将数据绑定移动到Page_PreRender事件。
DropDownList的所有选项的填充仍在其OnInit事件中完成。关于我在编辑中指定的问题,数据绑定的时间起着重要作用。我曾经在Page_Init事件中执行数据绑定,这导致在button_OnClick事件之前触发repeater_ItemDataBound事件 解决方案是将数据绑定移动到Page_PreRender事件。
DropDownList的所有选项的填充仍然在其OnInit事件中完成。是的,这就是我要寻找的。在阅读了链接之后,我要做的就是找出将数据项转换成什么。@jwalkerjr我这样做了,直到我发现这对我的情况没有帮助。好吧,我一分钟前就想出来了,也许也是。这是一个很好的答案,而我的答案只会增加它。是的,这就是我一直在寻找的。在阅读了链接之后,我要做的就是找出将数据项转换成什么。@jwalkerjr我这样做了,直到我发现这对我的情况没有帮助。好吧,我一分钟前就想出来了,也许也是。这是一个很好的答案,我的答案只会增加它。
<asp:Repeater runat="server" ID="repeaterJako" OnItemDataBound="repeater_ItemDataBound">
<ItemTemplate>
<asp:DropDownList id="ddJako" runat="server" OnInit="ddJako_OnInit">
</asp:DropDownList><br />
</ItemTemplate>
</asp:Repeater>
<asp:Button runat="server" id="updateButton" Text="Save" OnClick="update_OnClick" />