加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

将数据从asp.net-mvc传递到javascript的最佳做法

发布时间:2020-12-15 19:37:21 所属栏目:asp.Net 来源:网络整理
导读:我一直在使用ASP.NET MVC和Javascript / jQuery很多,我似乎在一个方向,我总是需要通过一些动态值“到”我的javascript标题。当脚本在页面中是正确的,我做了这样的: var isEditable = %=ViewData["editable"]% 我喜欢这是快速容易,就像我会注入一个值到H
我一直在使用ASP.NET MVC和Javascript / jQuery很多,我似乎在一个方向,我总是需要通过一些动态值“到”我的javascript标题。当脚本在页面中是正确的,我做了这样的:
var isEditable = <%=ViewData["editable"]%>

我喜欢这是快速&容易,就像我会注入一个值到HTML。但这味道。真的,真的很糟糕。它打破了Visual Studio的intellisense和代码格式,使我的脚本很难阅读和理解。

它发生了我另一个解决方案是将我的数据传递到一个隐藏字段,并有Javascript引用…

<input type="hidden" id="editable" value="<%=ViewData["editable"]%>" />
var isEditable = $("#editable").attr("value");

这可能是更好的,因为它保持脚本完好无损,并允许我将其移动到外部.js文件。但是这个解决方案似乎也不理想。还是只是我?

任何人都可以推荐解决方案&将数据传递到脚本的最佳实践?如果我的脚本最终严重依赖于我的控制器的viewdata首先,我走错了错误的路径?

解决方法

我有时通过一个配置对象通过JSON序列化程序传递数据到我的页面:
var pageConfig = <%= ServerConfig.ToJson() %>;

在哪里你需要自己写ToJson方法。这保持页面状态很好地包含,所以只有一个地方,您注入服务器值。从这里开始的一切都是纯javascript。在你的例子中,你可以:

var isEditable = pageConfig.isEditable;

即使在外部js文件中,如果pageConfig是全局的。在这种情况下,你应该正确命名空间:MY_APP.pageConfig。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读