Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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/9/javascript/370.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# 如何在javascript中调用委托?_C#_Javascript_Asp.net_Delegates - Fatal编程技术网

C# 如何在javascript中调用委托?

C# 如何在javascript中调用委托?,c#,javascript,asp.net,delegates,C#,Javascript,Asp.net,Delegates,我正在写一个javascript function ValueChanges() { Parent = document.getElementById('<%= grvMultiChoiceAnswerList.ClientID %>'); var items = Parent.getElementsByTagName('textarea'); var chkboxControl = Parent.getElementsByTagName('chec

我正在写一个javascript

function ValueChanges() 

  {

    Parent = document.getElementById('<%= grvMultiChoiceAnswerList.ClientID %>');
    var items = Parent.getElementsByTagName('textarea');
    var chkboxControl = Parent.getElementsByTagName('checkbox');

    for (i = 0; i < items.length; i++) {
        var hdnTextControl, hdnExplanation;
        hdnTextControl = (items[i].id).replace("txtText", "hdnText");
        hdnExplanation = (items[i].id).replace("txtExplanation", "hdnExplanation");

        if (items[i].id.split("_")[5] == "txtText") {
            if (items[i].value != document.getElementById(hdnTextControl).value) {
                var ssave = window.confirm('Your changes are not saved. Do you want to save your changes before you exit.')
                if (ssave == true) {
                    document.getElementById('<%=btnUpdate.ClientID%>').click(); // I WANT TO REPLACE THIS LIKE SO MY DELEGATE GETS FIRE
                    return false;
                }
                else
                    return true;
            }
        }
    }
现在我想在java脚本中调用这个委托,并替换document.getElementById(“”);因此,如果(ssave==true)条件为true,我的委托将被触发。为了从javascript访问服务器上的“方法”,您需要使用javascript进行回发,如:

__doPostBack('MyBtn','');
就服务器而言,这与

document.getElementById('<%=btnUpdate.ClientID%>').click(); 
document.getElementById(“”)。单击();
,但对于客户端,它将跳过通过单击按钮链接的任何javascript


要访问服务器端,您需要模拟javascript中事件的触发,以便asp.net页面能够识别并抓住它。添加网格视图的update列并查看生成的javascript,它将为您提供知道在dopostback中触发什么的线索。在您可能需要保留该列但能够使用css隐藏它之后。

我不能从javascript启动委托,此解决方案无法解决我的porb。
document.getElementById('<%=btnUpdate.ClientID%>').click();