0
我有以下代码试图填充下拉列表中,当我点击一个网格视图编辑,它给我下面的错误:试图来填充GridView的编辑下拉列表
" '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();
}
}
在哪一行,你有错误?试着抓住代码并捕获异常,然后更详细地解释我们。在GridView1_RowDataBound中你现在正在做的事情没有意义,因为一旦你得到它,你就不会对dl对象做任何事情。 –
感谢您的回应,我试图填充我的ddlgvRoom没有错误只是说选定的值不存在,但是当我调试它的值显示就好了。似乎一旦我点击gridview编辑按钮,就会丢失值 – Tim