Javascript 从JS和viceversa触发ASP.Net函数

Javascript 从JS和viceversa触发ASP.Net函数,javascript,asp.net,Javascript,Asp.net,我在想,在触发从JavaScript到ASP.Net和viceversa的函数方面,我的方法是否有更好的实现 从ASP.Net运行JS代码 创建asp.net隐藏值,该值将保留以下信息: 行动已经完成。(例如,id=hiddenFunction) ASP.NET代码背后的功能比 更改asp.net隐藏值(hiddenFunctionary.value=“AddedUser”),以便稍后触发正确的JS函数 从JS方面创建pageLoad()方法并在pageLoad()方法内 读取asp.net隐藏

我在想,在触发从JavaScript到ASP.Net和viceversa的函数方面,我的方法是否有更好的实现

从ASP.Net运行JS代码

  • 创建asp.net隐藏值,该值将保留以下信息: 行动已经完成。(例如,
    id=hiddenFunction
  • ASP.NET代码背后的功能比 更改asp.net隐藏值
    (hiddenFunctionary.value=“AddedUser”)
    ,以便稍后触发正确的JS函数
  • 从JS方面创建pageLoad()方法并在pageLoad()方法内 读取asp.net隐藏值
    if(document.getElementById('contentPage\u HiddenFunctionalid')。值==“AddedUser”){…}
  • 从JS运行ASP.Net代码

  • 创建一个div,隐藏它的内容,但仍然可以单击ASP.Net元素
  • 在div中插入ASP.Net按钮。(应该有一个_udopostback(eventTarget,eventArgument)的解决方案,这将删除隐藏的div和ASP.Net按钮)
  • 在JS trigger
  • 中,单击我来触发ASP.Net函数(在ASP.Net按钮上运行一个方法来简单地触发Click事件)<代码>函数触发器(x){$(x).单击();}

  • 可以使用ASP.Net隐藏值或查询字符串将数据从一端传递到另一端

    要从ASP注入JavaScript,您可以执行以下操作:


    如果您希望从JS运行ASP代码而不使用AJAX,我认为您的做法是正确的。我通常使用带有
    \uuu doPostBack
    的隐藏字段来传递消息,而不是DIV.

    您指的是ajax updatepanel吗?不,是从JS运行ASP.NET代码。要从ASP.NET运行JS代码,请按照第1行中提到的操作。
    Type myType = this.GetType();
    if (!ClientScript.IsClientScriptBlockRegistered(someType, "_FROMASP"))
    {
        string script = "alert('FROM ASP!');";
        ClientScript.RegisterClientScriptBlock(someType, "FROMASP", script, true);
    }