Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';无法在ASP.NET GridView中选择另一行(第一个选择有效),因为缺少u doPostBack脚本_C#_Asp.net_Gridview_Webforms - Fatal编程技术网

C# Can';无法在ASP.NET GridView中选择另一行(第一个选择有效),因为缺少u doPostBack脚本

C# Can';无法在ASP.NET GridView中选择另一行(第一个选择有效),因为缺少u doPostBack脚本,c#,asp.net,gridview,webforms,C#,Asp.net,Gridview,Webforms,我在ASP.NET web窗体应用程序中遇到GridView问题。基本上,我已经准备好了代码,可以通过单击来选择一行,这只在第一次单击时起作用。单击其他行时,不会发生任何事情,并且在浏览器控制台中,我得到\u doPostBack是未定义的错误 允许行选择的代码主要基于处理OnRowDataBound事件,在我的例子中如下所示: protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e) { if

我在ASP.NET web窗体应用程序中遇到GridView问题。基本上,我已经准备好了代码,可以通过单击来选择一行,这只在第一次单击时起作用。单击其他行时,不会发生任何事情,并且在浏览器控制台中,我得到
\u doPostBack是未定义的
错误

允许行选择的代码主要基于处理
OnRowDataBound
事件,在我的例子中如下所示:

protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackEventReference(gvUsers, "Select$" + e.Row.RowIndex);
    }
}
下面是我在选择更改事件处理程序中所做的操作:

protected void gvUsers_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
    GridViewRow row = gvUsers.Rows[e.NewSelectedIndex];
    row.CssClass = "selectedUser";
}

没什么特别的。这对很多人都有效。但是,当我检查服务器在处理此事件后返回的HTML时,实际上
\uuu doPostBack
脚本以及它使用的两个隐藏的
输入

我想我不知道在任何时候更改行选择后没有定义
\uu doPostBack
的原因,但目前的解决办法是以标准方式“强制”生成此函数(许多人有各种潜在的原因这样做):


似乎某些罕见的情况会在ASP.NET框架中触发有关
\u doPostBack
函数的奇怪错误。

您的
脚本管理器定义是什么样子的?另外,您的web.config中的
UnobstrusiveValidationMode
设置为什么?@JimMSDN我没有明确定义的
ScriptManager
,我的web.config中也没有
UnobstrusiveValidationMode
。我在想,如果定义/设置了其中一个,可能会产生一些意外的行为(我自己也在追踪类似的东西…)一个有趣的测试可能是添加一个ScriptManager,看看观察到的行为是否发生了变化。
protected void Page_Load(object sender, EventArgs e)
{
    Page.ClientScript.GetPostBackEventReference(gvUsers, "");

    //other logic
}