【问题标题】:Trying to populate drop-down list in GridView edit尝试在 GridView 编辑中填充下拉列表
【发布时间】:2011-11-21 09:55:34
【问题描述】:

当我在网格视图上单击编辑时,我有以下代码试图填充下拉列表,它给了我以下错误:

" 'ddlgvRoom' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value"

知道为什么我需要将代码添加到行编辑事件中,如果需要,您能帮忙吗?我的 gridview 正在从 objectdatasource 获取它的值。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow &&
            (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
        {
            DropDownList dl = (DropDownList)e.Row.FindControl("ddlgvRoom");
        }
    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        DropDownList ddlgvRoom = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlgvRoom");
        string strgvRoom = ddlgvRoom.SelectedItem.Text.ToString();

        DropDownList ddlgvJack = (DropDownList)
            GridView1.Rows[e.RowIndex].FindControl("ddlgvJack");
        string strgvJack = ddlgvJack.SelectedItem.Text.ToString();

        DropDownList ddlgvVlan = (DropDownList)
            GridView1.Rows[e.RowIndex].FindControl("ddlgvVlan");
        string strgvVlan = ddlgvVlan.SelectedItem.Text.ToString();
        GridView1.DataBind();

    }
}

【问题讨论】:

  • 你在哪一行有这个错误?在代码周围放置一个 try catch 并捕获异常,然后更详细地解释我们。你现在在 GridView1_RowDataBound 中所做的事情没有任何意义,因为一旦你得到了 dl 对象,你就什么也不做。
  • 感谢我试图填充我的 ddlgvRoom 的响应,没有错误只是说所选值不存在,但是当我调试它时,值显示得很好。似乎一旦我单击 gridview 编辑按钮,它就会失去价值

标签: c# asp.net gridview


【解决方案1】:

不得不从 HTML 端删除 selectedvalue 并且一切都开始工作了

【讨论】:

    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2011-08-31
    相关资源
    最近更新 更多