gpt4 book ai didi

c# - 在 Razor 中将 View 模型属性编码为 JavaScript

转载 作者:行者123 更新时间:2023-11-30 15:04:48 25 4
gpt4 key购买 nike

我有一个简单的 ViewModel:

public class IndexViewModel
{
public bool ShowWelcomeMsg { get; set; }
}

在我看来,我需要 JS 中的这个属性:

<script type="text/javascript">
var ShowWelcomeMsg = @Model.ShowWelcomeMsg;
</script>

但这不正确,因为它输出 False 而不是 false 但无论如何,这个问题更通用,因为我想知道 int、string 等的解决方案嗯:

编码 View 模型属性以在 JavaScript(在 Razor 中)中使用它的正确方法是什么?

最佳答案

这应该可以完成工作:

<script type="text/javascript">
var ShowWelcomeMsg = @Html.Raw(Model.ShowWelcomeMsg);
</script>

您应该首先序列化您的数据。你应该传递一个带有 json 符号的字符串,而不是传递一个 bool 值:

public class IndexViewModel
{
public string ShowWelcomeMsg { get; set; }
}

为了序列化为 json,你应该这样做:

public ActionResult Index()
{
var serializer = new JavaScriptSerializer();
var vm = new IndexViewModel
{
ShowWelcomeMsg = serializer.Serialize(true)
};
return View(vm);
}

这样您甚至可以序列化整个 C# 对象并将其用作 JavaScript 中的任何其他对象。

关于c# - 在 Razor 中将 View 模型属性编码为 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741445/

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