我已经完成了这一百万次并且不知道我在这里缺少什么....唯一的区别是我在下拉菜单值中没有硬编码,我通过查询动态添加它们。我将发布下面的内容......
ASP.NET:
<asp:DropDownList ID="drpDownMenu" runat="server" CssClass="fields" EnableViewState="true">
<asp:ListItem Text="<Select Device>" Value="0" />
</asp:DropDownList>
C#:
private void PopulateDeviceDropDown()
{
DataTable dtDrpDownListItems = new DataTable();
string selecItems = "myQuery this works and loads fine";
try
{
SqlDataAdapter adapter = new SqlDataAdapter(selecItems , sqlConn);
sqlConn.Open();
adapter.Fill(dtDrpDownListItems);
drpDownMenu.DataSource = dtDrpDownListItems;
drpDownMenu.DataTextField = "Number";
drpDownMenu.DataBind();
}
catch (Exception ex)
{
//do something here
}
finally
{
sqlConn.Close();
}
drpDownMenu.Items.Insert(0, new ListItem("<Select Device>", "0"));
}
protected void btnSave_Click(object sender, EventArgs e)
{
string test = "";
test = drpDownMenu.SelectedItem.Text;
}
在上面,PopulateDeviceDropDown
效果很好......做了它想做的事。
以下btnSave_Click
也被解雇了,但无论我做出什么选择,test
变量始终会返回<Select Device>
...
我错过了一些明显的东西吗?它应该返回我选择的项目,但无论如何都返回菜单中的第一项。
有什么建议吗?
答案 0 :(得分:0)
确保包含在页面加载
中(!IsPostback)
{
PopulateDeviceDropDown()
}
答案 1 :(得分:0)
不是100%肯定,但我会尝试删除
# output=`yum check-update`
This system is not registered with RHN Classic or RHN Satellite.
You can use rhn_register to register.
RHN Satellite or RHN Classic support will be disabled.
#
并将其替换为代码:
<asp:ListItem Text="<Select Device>" Value="0" />
HTH