来自C#的javascript文字 – 避免警告
发布时间:2020-12-15 21:55:49 所属栏目:百科 来源:网络整理
导读:首先,这段代码确实有效,但它给了我一个低水平的烦恼,我想摆脱它.我有一个使用razor语法构建的.cshtml页面.有一个巨大的,令人讨厌的淘汰对象生活在幕后,页面上的许多东西都被束缚在幕后.目前,在实例化该淘汰模型时,我是通过在下面的字符串文字中序列化有问题
首先,这段代码确实有效,但它给了我一个低水平的烦恼,我想摆脱它.我有一个使用razor语法构建的.cshtml页面.有一个巨大的,令人讨厌的淘汰对象生活在幕后,页面上的许多东西都被束缚在幕后.目前,在实例化该淘汰模型时,我是通过在下面的字符串文字中序列化有问题的C#viewmodel对象来实现的.
<script type="text/javascript"> $(document).ready(function() { var data = @Html.Raw(Json.Encode(Model)); var contentListingModel = new ContentListingModel(data); ko.applyBindings(contentListingModel,$('#pageRoot').get(0)); }); </script> 就像我说的,代码有效.但是,在@ Html.Raw调用的行上,我收到警告. Visual Studio认为存在语法错误(在呈现之后没有).现在,为什么事情认为那里存在语法问题是完全有道理的.但我希望通过编码以不触发此问题的方式摆脱警告(我意识到我可以隐藏警告或做任何其他事情),但我只是希望它不显示在哪些情况下我正在将C#对象序列化为JSON并将它们填充到页面上的javascript中.有任何想法吗? 我完全接受这个问题是迂腐和琐碎的,因为代码工作得非常好并且看起来很干净,但它让我烦恼. 解决方法
IDE非常聪明,可以接受纯粹由Razor组成的行,因此您可以编写:
@Html.Raw( "var data= " + Json.Encode(Model) + ";" ) alert(data); 如果(假设的)隐式全局困扰您(例如它触发Resharper警告),则拆分声明和赋值. var data; // javascript @Html.Raw( "data= " + Json.Encode(Model) + ";" ) // all razor 哪个在运行时产生: var data; data = {"foo": "bar"}; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- objective-c – applicationDidFinishLaunching未运行
- applicationContext.xml
- React Native:用JavaScript开发移动应用——互动出版网
- ios – Swift-3错误:’ – [_ SwiftValue unsignedInteger
- postgresql – 在ON CONFLICT子句中使用多个conflict_targe
- oracle连接数
- KEIL MDK中的RO、RW和ZI DATA
- 【Oracle学习笔记】使用Oracle11g中的sqldeveloper
- C语言知识点回顾
- 【Cocos2d开发】Cocos2d下安卓环境的搭建