[英]How to show the selected value from the drop down list and show it in gridview
[英]Getting a selected value from the drop down list inside a GridView on Update
我有一个GridView,每一行都有“编辑”按钮。 单击后,其中一列会变成一个下拉列表,用户可以在其中选择值。 “编辑”按钮变为“更新”-非常简单的通常情况。
现在,单击“更新”后,我似乎无法获取所选的下拉列表。 这是我的代码:
protected void gv_UpdateRow(string arg)
{
int currentIndex = gv.EditIndex;
gv.EditIndex = -1;
GridViewRow currentRow = gv.Rows[currentIndex];
try
{
string value2 = ((DropDownList)currentRow.FindControl("ddlValueTwo")).SelectedItem.ToString();
}
catch
{
Response.Write("error");
}
BindGridView();
}
因此,基本上,程序执行总是以catch语句结束。 我已检查并找到下拉列表,但未找到所选项目时会引发异常。
是什么赋予了?
我使用c#asp.net 2.0 Web表单
看起来是一个数据绑定错误,您正在尝试访问尚不存在的数据...
得到它了!
它是IsPostback,我很想念它,所以gridview在每次页面加载时都会反弹,并且由于下拉列表位于网格内部,因此数据丢失了。
但是,我在这里忘记提及的一件事是,所有这些代码都位于用户控件(ascx文件)中,并且IsPostBack属性适用于页面而不是控件,在我的情况下这是没有用的。 例如,在我的情况下,我手动添加了控件,因此IsPostback始终为true,因此为避免此问题,我必须实现基于会话的解决方案。 希望这对某人有帮助。
也有usercontrol.IsPostBack属性,但是它没有达到预期的效果,也许他们正确地使用了3.0
首先想到的是,您可能应该执行SelectedItem.Value而不是SelectedItem.ToString()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.