从JS和反之触发ASP.Net函数

时间:2014-03-18 10:45:36

标签: javascript asp.net

如果我在触发从JavaScript到ASP.Net的函数方面有更好的实现,那我就是在思考自己。

从ASP.Net运行JS代码

  1. 创建asp.net隐藏值,以保存信息 行动已经完成。 (例如id = hiddenFunctionality
  2. 在ASP.NET代码背后,执行的功能比 改变asp.net隐藏值(hiddenFunctionality.value = "AddedUser")以便稍后触发正确的JS函数。
  3. 从JS方面创建pageLoad()方法并在pageLoad()方法中 阅读asp.net隐藏值if(document.getElementById('contentPage_hiddenFunctionality').value=="AddedUser"){...}
  4. 从JS运行ASP.Net代码

    1. 创建一个隐藏其内容的div,但仍然可以点击ASP.Net元素。
    2. 在div中插入ASP.Net按钮。 (应该有一个解决__doPostBack(eventTarget,eventArgument),这将删除隐藏的div和ASP.Net按钮)
    3. 在JS触发器<li onclick="trigger('#contentPage_btn');">Click me to trigger ASP.Net function</li>中)运行一个方法来简单地触发ASP.Net按钮上的click事件。 function trigger(x){$(x).click();}
    4. 可以使用ASP.Net隐藏值或查询字符串将数据从一侧传递到另一侧。

1 个答案:

答案 0 :(得分:0)

要从ASP注入JavaScript,您可以执行RegisterClientScriptBlock

Type myType = this.GetType();
if (!ClientScript.IsClientScriptBlockRegistered(someType, "_FROMASP"))
{
    string script = "alert('FROM ASP!');";
    ClientScript.RegisterClientScriptBlock(someType, "FROMASP", script, true);
}

如果您想从JS运行ASP代码而不使用AJAX,我认为您走在正确的轨道上。我通常使用__doPostBack的隐藏字段来传递消息而不是DIV。