Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在中继器内设置DropDownList的选定值?_C#_Asp.net_Data Binding_Drop Down Menu_Repeater - Fatal编程技术网

C# 如何在中继器内设置DropDownList的选定值?

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> &

我需要创建一组DropDownLists来显示并允许更改项目的属性组

我的ASP页面上有以下代码

<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" />