gpt4 book ai didi

javascript - MVC 3 Razor View : Generating JavaScript from a boolean model value

转载 作者:行者123 更新时间:2023-12-03 13:50:04 27 4
gpt4 key购买 nike

我正在使用 ASP.Net MVC 3 Razor View 引擎。

我需要根据我的 View 模型中的值在我的 View 中生成一些 JavaScript 代码。我需要使用的值是一个 bool 值,在这个例子中我们称之为 IsSet .

所以我想做的是基于这个值创建一个 JavaScript bool 值,以后可以在脚本中使用它。

请记住,对于以下所有示例,我的 View 顶部都有这段代码......

@{ string IsSet = Model.IsSet  ? "true" : "false"; }

注意 : 以下所有示例都是 JavaScript。

第一次尝试 ...
var IsSet = @(IsSet);

...这确实有效, 问题是它破坏了自动格式化 (CTRL + E, D) 在 VS 2010 中由于 JavaScript 格式错误 - 正如您所料,这是 Not Acceptable 。

第二次尝试 ...
var IsSet = "@(IsSet)";

...我知道,JavaScript 很聪明,它会在需要时自动解析我的字符串。哎呀,忘了它是一个字符串类型,除了空之外的任何东西都会评估为真。

第三次尝试 ...
var IsSet = Boolean("@(IsSet)");

....当然这会起作用...不,再次将非空字符串转换为true(解析器错误!)

第四次尝试 ...
var IsSet = "@(IsSet)" === "true";

终于有一些有用的东西了,但对我来说看起来不太好。

如果需要,我会使用它,但最终我的问题是:有没有更好的方法来处理这种情况?也许,我第一次尝试中的不良行为只是微软可能忽略的东西?

如果有人对我来说有一个漂亮而整洁的第五次尝试,那就太好了。

对我来说重要的是 VS 2010 中的自动格式化不会中断

谢谢

最佳答案

我只是在同一个问题上挣扎了大约一个小时。我的最终解决方案相当于以下内容。

var IsSet = @(Model.IsSet.ToString().ToLower()); // Inside JavaScript block

这不需要额外的代码。

关于javascript - MVC 3 Razor View : Generating JavaScript from a boolean model value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com