MVC c#应用程序,Json数据模型
本文关键字:Json 数据模型 应用程序 MVC | 更新日期: 2023-09-27 18:17:52
这可能看起来很奇怪,但我想让我的模型包含Json数据,然后我可以使用javascript来呈现html的内容。我的代码如下-
My Controller -
public ActionResult Index()
{
Object myObject = FillMyObjectWithData();
string json = new JavaScriptSerializer().Serialize(myObject);
return View(json);
}
My View -
@model string /*Json data will be in the model*/
<div>
//standard html in here
</div>
<script>
$(document).ready(function() {
doCoolStuff(@Model);
});
</script>
我得到错误- "路径中的非法字符。 "
实现这一目标的正确方法是什么?
问题在return View(json);
你得到了错误的函数重载View(string)
,这是通过名称获得视图的重载。试一试:
return View((object)json);
你还需要没有HTML编码的原始JSON:
doCoolStuff(@Html.Raw(@Model));
尝试:
@model string /*Json data will be in the model*/
<div>
//standard html in here
</div>
<script>
$(document).ready(function() {
var temp = @model;
doCoolStuff(temp);
});
</script>
你尝试这种方式的动机是什么?如果你真的想返回json,你可能会更好的服务,使一个ajax请求后,视图/页面加载和使用javascript/jquery渲染你的UI。这将是KnockoutJS的一个很好的候选。