gpt4 book ai didi

c# - DropdownList 未显示所选值

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:39 24 4
gpt4 key购买 nike

我在 Repeater 中使用了 DropDownList。它从数据库中获取名称(管理员、经理、成员)。用户名显示正确,即使警报也显示正确的数据。但是 dropdownlist.selecteditem 没有效果。两个用户都在下拉列表中显示 admin 作为默认选择值,在 db 中显示其经理。

protected void ListRepeaterView_ItemDataBound(object sender, RepeaterItemEventArgs e)
{



DropDownList selectList = e.Item.FindControl("DropDownList1") as DropDownList;
selectList.DataSource = ML.SelectAll();
selectList.DataTextField = "Designation";
selectList.DataValueField = "EmployeeID";

selectList.DataBind();


HiddenField Designation = (HiddenField)e.Item.FindControl("hdnDesignation");
selectList.SelectedValue = Designation.Value.ToString();
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert(" + Designation.Value.ToString() + ");", true);




}

.cs文件

    <asp:Repeater ID="ListRepeaterView" runat="server" OnItemDataBound="ListRepeaterView_ItemDataBound">
<ItemTemplate><tr><td>
<asp:Label ID="EmpName" runat="server" Text='<%# Eval("EmployeeName") %>'></asp:Label>
asp:HiddenField ID="hdnProductID" Value='<%# Eval("EmployeeID") %>' runat="server" />
</td><td>
<asp:HiddenField ID="hdnDesignation" Value='<%# Eval("Designation") %>' runat="server" />
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" >
</asp:DropDownList>
</td></tr>
<br /><br /><br />
</ItemTemplate>
</asp:Repeater>

最佳答案

您在选择中使用“名称”作为文本字段,使用“EmployeeID”作为值字段。然后您尝试根据“指定”设置选定的值。这真的行不通。

您可以做的是通过文本定位默认项:

// add some error handling for cases when item cannot be found
var defaultText = Designation.Value.ToString();
selectList.Items.FindByText(defaultText).Selected = true;

关于c# - DropdownList 未显示所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com