Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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# 为异步回发asp.net禁用运行时生成的控件_C#_Asp.net_Scriptmanager_Partial Postback - Fatal编程技术网

C# 为异步回发asp.net禁用运行时生成的控件

C# 为异步回发asp.net禁用运行时生成的控件,c#,asp.net,scriptmanager,partial-postback,C#,Asp.net,Scriptmanager,Partial Postback,我想在运行时创建一些不能命中“异步回发”的项 实际上,我的网格视图中的每一行都有一个按钮。此控件不能生成部分回发,而是生成完整回发('因为结果必须是下载报告) 实际上我试过两种方法: 页面加载 递归搜索作为按钮且具有指定类的每个控件 通过以下方式将项目添加到ScriptManager: ScriptManager.GetCurrent(this.RegisterPostBackControl(control) 此代码被命中的次数正确,但仍会生成部分回发 关于项目生成 我在按钮生成中添加了一

我想在运行时创建一些不能命中“异步回发”的项

实际上,我的网格视图中的每一行都有一个按钮。此控件不能生成部分回发,而是生成完整回发('因为结果必须是下载报告)

实际上我试过两种方法:

  • 页面加载

    • 递归搜索作为按钮且具有指定类的每个控件
    • 通过以下方式将项目添加到ScriptManager:

      ScriptManager.GetCurrent(this.RegisterPostBackControl(control)

    • 此代码被命中的次数正确,但仍会生成部分回发

  • 关于项目生成

    • 我在按钮生成中添加了一个“OnDataBinding”事件
    • 在这种情况下,我会这样做:

      var按钮=(控制)发送器

      ScriptManager.GetCurrent(this.RegisterPostBackControl(按钮)

  • 为什么这不起作用

    在这两种情况下,我点击特定的案例,并将控件“注册”为“完全回发”,这样我就可以得到部分回发了吗


    谢谢你

    我不知道你所说的部分回发是什么意思,但我猜你是在试图对页面加载后要发生的按钮点击事件做些什么。这里有一个关于此的快速演练,在pageload事件中,您可以检查单击了哪个按钮

    if(IsPostBack){
        clickedButtonID=Request.Form["__EVENTTARGET"]; 
    }
    

    我找到了一个有效且不涉及任何特定代码/重写的解决方案

    我专注于单一的“自动生成”按钮,但当我开始考虑区域和家长时,一切都很顺利

    作为解决方案,我只需将整个GridView注册到脚本管理器,通过这种方式,内部的所有控制器都会生成一个完整的回发,而不是部分回发

    在我的页面加载中,我现在有:

            ScriptManager.GetCurrent().RegisterPostBackControl(grd_Reports);
    

    你想要实现什么?没有回发或..的按钮?单击此按钮可创建完整回发而不是部分回发