来自C#的javascript文字 – 避免警告

来自C#的javascript文字 – 避免警告,第1张

概述首先,这段代码确实有效,但它给了我一个低水平的烦恼,我想摆脱它.我有一个使用razor语法构建的.cshtml页面.有一个巨大的,令人讨厌的淘汰对象生活在幕后,页面上的许多东西都被束缚在幕后.目前,在实例化该淘汰模型时,我是通过在下面的字符串文字中序列化有问题的C#viewmodel对象来实现的. <script type="text/javascript"> $(document 首先,这段代码确实有效,但它给了我一个低水平的烦恼,我想摆脱它.我有一个使用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; // [email protected]( "data= " + Json.Encode(Model) + ";" ) // all razor

哪个在运行时产生:

var data;data = {"foo": "bar"};
总结

以上是内存溢出为你收集整理的来自C#的javascript文字 – 避免警告全部内容,希望文章能够帮你解决来自C#的javascript文字 – 避免警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1230110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存