2

我不确定在这里做什么,我可能必须使用视图状态,但我需要帮助。

我有一个下拉列表,我不是数据绑定。我会知道我是否应该做一个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”,而不是选定的项目。

谢谢

4

4 回答 4

0

回发导致重置您选择的值。使用if(!IsPostBack)或使用更新面板来防止回发。

于 2013-05-06T09:10:38.603 回答
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>

你能检查一下你不只是在页面初始化期间设置选定的项目吗?

于 2013-05-06T09:23:02.453 回答
0

Aspx 方面:将 autopostback=true 添加到下拉属性并使用 listitem 如下: ListItem Text="4" Value="4"> 等

后面的代码: string wwin = ""; wwin = ddlWeeklyWeightIn.SelectedValue;

于 2013-05-06T10:29:26.167 回答
0

尝试将 EnableViewState="True" 添加到您的下拉控件中。

于 2013-05-05T16:35:42.807 回答