在viewmodel对象中,下面是属性:
public IList<CollegeInformationDTO> CollegeInformationlist { get; set; }
Run Code Online (Sandbox Code Playgroud)
在VIEW中,javascript如下:
var obj = JSON.stringify('@Model.CollegeInformationlist');
alert(obj[1].State); //NOT WORKING, giving string char
$.each('@Model.CollegeInformationlist', function (i, item) {
var obj = JSON.stringify(item);
var r = $.parseJSON(obj);
alert(r.State); //just giving undefined.
});
Run Code Online (Sandbox Code Playgroud)
请在这里指导,我如何在javascript中获取JSON对象.
我试图Json.Encode(...)在MVC 4中调用一个方法,我收到一个错误:The name 'Json' does not exist in the current context.
我已经尝试添加System.Runtime.Serialization名称空间,它有Json类,但这个特定的Json类实例没有Encode方法.
我在这里缺少什么装配?
这是我的确切代码:
{ url: '@Url.Action("DeleteDefinitionRule")', editData:
{ companyCode: 'LO', definitionID:@Html.Raw(Json.Encode(Model.DefinitionID)) } }
Run Code Online (Sandbox Code Playgroud) 什么相当于MVC5中MVC5的@Json.Encode方法?在MVC5中,我们可以在视图中访问这些方法.但是我找不到任何可以从MVC 6视图访问的方法.
如果MVC6中已有内置功能,我不想编写辅助方法.
我使用Newtonsoft库将C#对象转换为JSON.这是使用Newtonsoft.Json.JsonConvert.SerializeObject安全,还是需要额外的编码?如果需要额外的编码,你有什么建议?
以下是我在Razor视图中使用它的方法:
<script type="text/javascript">
var jsModel = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model))
</script>
Run Code Online (Sandbox Code Playgroud) 我需要使用转换Microsoft.AspNet.Mvc.Controller.JsonResult为字符串ASP.NET Core
这是我在ASP.NET MVC中的代码
public async Task<string> GetJsonData()
{
//...
var result = GetMyComplexObject();
//using Newtonsoft.Json.JsonConvert method
var jsonString = JsonConvert.SerializeObject(Json(result));
return jsonString;
}
public async Task<IActionResult> Index()
{
var myViewModel= new MyViewModel();
myViewModel.JsonString = GetJsonData();
return View(myViewModel);
}
public class MyViewModel
{
//...
public string JsonString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的cshtml中
var dataSet = {@(Model.JsonString))};
Run Code Online (Sandbox Code Playgroud)
但是,在生成的源中而不是引用的字段中,它们是html编码的,例如 "field1"
而不是运行字符串替换是没有更简洁的方法来转换JsonResult为string
我在将 C# 对象序列化为纯 JSON 字符串时遇到了一些问题。
我使用 JsonConvert(Newtonsoft 的)将模型格式化为 JSON。问题是在某些 Javascript 中使用了 JSON 字符串 get,但格式并不好,因为在引号中被写为 ""e;" 而不是 "'"。关于如何解决这个问题有任何想法吗?
//...
@{
var dataJson = JsonConvert.SerializeObject(Model);
}
//...
<script>
function ChangeGroup(type) {
$.ajax({
url: //...,
data: @dataJson
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我得到的是这样的:
我忘记设置一些格式选项?
是否可以将MVC C#List转换为javascript数组?
var jsArray = @Model.IntList;
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我已经在这几天了,而且无处可去.
我正在尝试将List对象序列化为JSON,因此可以将其传递给Google Analytics的电子商务服务,因此需要事先将其传递给javascript.
但是,json输出有错误.
首先,我有一个Item类.
Item {
Id,
Name,
Sku,
Price,
Quantity
}
Run Code Online (Sandbox Code Playgroud)
我的购物车类包含商品列表
public List<Item> Items;
Run Code Online (Sandbox Code Playgroud)
我正在使用以下序列化列表.
var jsonList = JavascriptSerializer.Serialize(cart.Items);
Run Code Online (Sandbox Code Playgroud)
然后使用Razor将jsonList传递给javascript,如此 -
<script type="text/javascript">
var items = @jsonList;
</script>
Run Code Online (Sandbox Code Playgroud)
在浏览器中生成的结果如下所示:
items = [{"Id":ITEM_ID,"Name":"ITEM_NAME","Sku":"ITEM_SKU","Quantity":ITEM_QTY,"Price":ITEM_PRICE},{"Id":ITEM2_ID,"Name":"ITEM2_NAME",etc...}]
Run Code Online (Sandbox Code Playgroud)
所以我想知道我是如何摆脱"并用所需的"代替它们.它是否与我的Item类或我的javascript有关?
我试过@Html.Raw(项目)而没有运气 - 返回一个空的json对象.
我在我的cshtml页面中有一个模型,我想将这个模型转换为json对象,这样我就可以在cshtml页面的javascript中使用这个json.我正在使用MVC4.
我怎么能这样做?
javascript ×6
c# ×5
json ×5
asp.net-mvc ×4
asp.net ×2
asp.net-core ×2
json.net ×2
razor ×2
jquery ×1
security ×1