编程语言
首页 > 编程语言> > 如何在ASP.NET MVC项目中模拟ScriptManager.RegisterStartupScript()

如何在ASP.NET MVC项目中模拟ScriptManager.RegisterStartupScript()

作者:互联网

我正在使用ASP.NET MVC项目和jQuery来处理异步请求.有时,对于异步请求,我需要返回一个初始化JavaScript代码段并与HTML代码段一起执行(我希望在服务器上呈现此JavaScript).

现在我使用自己的ScriptsHelper类和RegisterStartupScript()方法(将数据添加到HttpContext.Current.Items).然后在异步请求的global.asax HttpApplication.EndRequest()中,我将所有已注册的脚本附加到输出(包含在标记中).当收到的HTML附加到DOM时,jQuery.fn.load()成功执行它们 – 这正是我需要的.你认为这是“正确的”(好)解决方案,还是你可以提出更好的建议?谢谢.

解决方法:

在我开始使用jquery之前,我在一个项目中遇到了类似的情况,并且使用了eval().我正在返回一个javascript文本片段作为不可见DOM元素的值的一部分以及我插入DOM的其余HTML.

我在IE6中调试这种动态生成的javascript时遇到了很多麻烦,所以这个解决方案适合我,因为我可以检查得到eval’d的DOM元素的值.但是,我一直对使用eval持怀疑态度.

听起来你的解决方案有一个合理的服务器端渲染架构,而不是我的意大利面条代码,这种技术看起来很适合jQuery.fn.load的精神,所以我不会太担心.

标签:javascript,asp-net,asp-net-mvc,scriptmanager
来源: https://codeday.me/bug/20190710/1423922.html