我不知道该怎么做,我可能不得不使用视图状态,但我需要帮助。
我有一个下拉列表,我不是数据绑定。我会知道我是不是应该做Page.IsPostBack
而不是数据绑定。
<asp:DropDownList ID="ddlWeeklyWeightIn" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
</asp:DropDownList>
现在我的代码背后有这个:
protected void Button1_Click(object sender, EventArgs e)
{
string wwin = "";
wwin = ddlWeeklyWeightIn.SelectedItem.Text;
}
在按钮上单击始终为“1”,而不是所选项目。
谢谢
答案 0 :(得分:0)
尝试将EnableViewState =“True”添加到您的下拉控件中。
答案 1 :(得分:0)
回发后会导致重置所选值。使用if(!IsPostBack)
或使用更新面板来阻止回发。
答案 2 :(得分:0)
这只是为了确保您可以尝试使用:
<asp:DropDownList ID="ddlWeeklyWeightIn" runat="server">
<asp:ListItem Text="1"></asp:ListItem>
<asp:ListItem Text="2"></asp:ListItem>
<asp:ListItem Text="3"></asp:ListItem>
<asp:ListItem Text="4"></asp:ListItem>
</asp:DropDownList>
您是否可以检查在页面初始化期间是否只设置了所选项目?
答案 3 :(得分:0)
Aspx方面: 将autopostback = true添加到dropdown属性,并使用listitem如下: ListItem Text =“4”Value =“4”&gt;等等
代码背后: string wwin =“”; wwin = ddlWeeklyWeightIn.SelectedValue;