1

我在 a 中有一个下拉列表Gridview

ASPX:

<ItemTemplate>
<asp:DropDownList ID="status" runat="server" 
     onselectedindexchanged="status_SelectedIndexChanged" 
     ondatabinding="status_DataBinding" ondatabound="status_DataBound">
     <asp:ListItem>-select-</asp:ListItem>
     <asp:ListItem>Winner</asp:ListItem>
     <asp:ListItem>Blocked</asp:ListItem>
     </asp:DropDownList>
</ItemTemplate>

当我从列表中选择一个项目时,我添加了代码以使用页面中的值填充数据库。但是,它插入了第一个项目“-select-”,即使我从列表中选择了不同的项目。我该如何解决这个问题?

代码:

protected void Open_Click(object sender, EventArgs e)
    {
        DropDownList DDL =new DropDownList();
        for (int i = 0; i < Data.Rows.Count; i++)
        {
           DDL = (DropDownList)Data.Rows[i].FindControl("status");

        }

        LinkButton linl = sender as LinkButton;
        fb_ID = linl.CommandName;

            fbgame.Updatestatus(fb_ID, false,DDL.SelectedIndex.ToString() );

            Data.DataSource = fbgame.GetAll();
            Data.DataBind();

  }
4

1 回答 1

1

检查Page_Load您是否仅在页面不是回发(即第一次加载)时才绑定,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // Only bind here
    }
}
于 2013-09-06T00:01:19.620 回答