首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从JS触发ASP.Net函数,反之亦然

从JS触发ASP.Net函数,反之亦然
EN

Stack Overflow用户
提问于 2014-03-18 10:45:36
回答 1查看 80关注 0票数 0

我在想,在触发从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"){...}

从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按钮上的单击事件。function trigger(x){$(x).click();}

数据从一方传递到另一方可以使用ASP.Net隐藏值或查询字符串来完成。

EN

回答 1

Stack Overflow用户

发布于 2014-03-18 11:11:20

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

代码语言:javascript
运行
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22476997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档