gpt4 book ai didi

c# - 使用模型值包括报价 ASP MVC4

转载 作者:行者123 更新时间:2023-11-28 19:55:18 36 4
gpt4 key购买 nike

我在我的 View 中使用了这个模型,它有一个名为数字列表的属性

public myModel{
public string listOfNumber {get; set;}

然后在我的 Controller 中我用字符串值填充它

public myController{
public ActionREsult myMethod(){
....
myModelObj.listOfNumber = myModelObj.listOfNumber +"["+aNumber+"]";
return PartialView("test/_myPartialView", myModelObj);

在我看来我有这个

<input type="hidden" value=@Html.Raw(Json.Encode(Model.listOfNumber)) id="listNumb"/>

然后我对 $("#listNumb").val() 的值执行 console.log() 并得到结果

"[1][4][3][23]"

我想知道这个报价是从哪里来的?因为当我将值传回 Controller 时,使用模型绑定(bind)并调试它看起来的样子,我得到这个 \"[1][4][3][23]\" 似乎引号成为字符串的一部分?

编辑

正如此处答案之一所建议的那样,它在查看源代码中显示的内容。仅供引用,如果我在 @Html.Raw(Json.Encode(Model.listOfNumber)) 周围加上引号并不重要,源代码显示了相同的内容。 ""[1][4][3][23]"" 注意双引号,因为我没有:)

最佳答案

您正在将属性编码为 JSON 对象,并且 JSON 对象作为字符串包含引号。

想象一个不同的设置。如果您使用 javascript 并执行了以下操作:

var someObj = @Html.Raw(Json.Encode(someValue));

...您希望它变成一个 javascript 可以将其视为对象的有效对象,对吧?如果该值是一个字符串,则其工作的唯一方法是该字符串周围有引号。

令我惊讶的是,您的 View 代码似乎不包含引号,因此我预计字符串引号会被解释为包装属性值。但也许 Razor 引擎会以某种方式为你添加这些内容或者什么?或者您发布的代码可能不是您正在使用的确切代码?查看源代码时,HTML 是什么样子的?

关于c# - 使用模型值包括报价 ASP MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22701079/

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