【问题标题】:How to get updated dropdownlist value from gridview row on save?如何在保存时从 gridview 行获取更新的下拉列表值?
【发布时间】:2014-03-04 14:06:32
【问题描述】:

我在网格视图内的下拉列表中遇到问题。

gridview 在 rowcreated 命令上更新,带有一个下拉列表和一组值(工作正常)。用户可以更改下拉列表中的选定值,然后保存。

当我点击保存时,我需要从下拉列表中获取每个新选择的值,如果尚未添加,则将其存储在一个 int 列表中。

这一切正常,但我无法获得用户选择的更新值,只有在设置时已填充为选定项目的值。

protected void btnSave_Click(object sender, EventArgs e)
{
    List<int> list = new List<int>();
    foreach (GridViewRow r in gvOrder.Rows)
    {
        if (r.RowType == DataControlRowType.DataRow)
        {
            DropDownList ddl = r.FindControl("ddlNewO") as DropDownList;
            int value = Convert.ToInt16(ddl.SelectedItem.Text);
            bool Contains = list.Contains(value);
            if (!Contains)
            {
                list.Add(value);
            }
            else
            {
                lblMessage.Text = "This value is already assigned!";
            }
        }
    }
}

示例:如果有 9 行,则每个下拉列表都有数字 1-9,并且它选择的数字是行索引。如果我在页面加载后进入并选择前三个作为“1”并单击保存,它会运行并仍然从加载时选择值,例如1,2,3。

【问题讨论】:

    标签: c# asp.net gridview webforms


    【解决方案1】:

    我需要确保我的 gridview 没有绑定两次:

            if (!IsPostBack)
            {
                PopulateGridview();
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多