MVC4剃刀在客户端javascript中访问我的模型中的JsonResult数据
MVC4 razor accessing JsonResult data from my model in client side javascript
我正在进行一个MVC4剃须刀项目。我有一个角色对象列表,这些对象作为jsonResult存储在我的模型中,用于我的客户端javascript。
//Model
public JsonResult JsonRoles { get; set; }
//Controller
var myroles = from r in myroles select new { r.Id, r.Description };
var myModel.JsonRoles = Json(myroles);
//Client side javascript
var data = '@(Model.JsonRoles)';
alert(data);
我试着用javascript访问它,如下所示。当我发出警报时,我总是得到字符串"System.Web.Mvc.JsonResult",但我需要的是json数据。我做错了什么?有人能告诉我正确的方向吗?
我已经使用ViewData来解决您的问题,并且我能够在类似的行上获得结果,您也可以解决模型属性
//Contoller Class
public ActionResult CreateRequest()
{
var data = new { Id = "one", Make = "Two" };
ViewData["Data"] = Json(data);
return View();
}
//And client side is
<script type="text/javascript">
var data = @Html.Raw(Json.Encode(ViewData["Data"]));
alert(JSON.stringify(data.Data));
</script>
JsonResult
倾向于用作您打算从Ajax调用的操作方法的返回类型。
您需要使用JavaScriptSerializer
来序列化您的"myroles"对象。例如
JavaScriptSerializer serializer = new JavaScriptSerializer();
myModel.JsonRoles = serializer.Serialize(myroles);
将模型上JsonRoles的类型更改为字符串。
public string JsonRoles { get; set; }
最后,在您的视图中输出例如:
var data = @Html.Raw(Model.JsonRoles);
alert(data.id);
在linqpad中,我能够通过取回数据
var x= new System.Web.Mvc.JsonResult();
x.Data=new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("testing, testing");
x.Data.Dump();
也用检查
var x= new System.Web.Mvc.JsonResult();
x.Data=new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(new{test="testing"});
x.Data.Dump();
这可能不是剃刀页面中的正确解决方案。我期待
var data = "@{Model.JsonRoles.ExecuteResult(this.ControllerContext);}";
在一个合适的mvc应用程序中是正确的。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 为集合分配大量的模型弹药
- 如何使用backbone.js从集合中获取模型名称
- 骨干模型默认值-todos.js示例中不必要的代码
- EmberJS中支持单字母单词模型
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 将不在模型中的数据返回到mvc控制器
- 如何在视图模型contet更新更新上调用Jquery函数
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 我应该如何检查主干.主干.模型更改时查看
- Ext.js从json构建模型关系的问题
- 显示模块模式在Knockout中设置模型的新实例
- 使用导航属性创建Kendo UI网格模型的问题
- Angular,函数在(模型)工厂中返回值
- 如何将本地json数据加载到Extjs数据模型中
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 更新成员数据模型中的记录列表
- 将JavaScript变量保存到Rails模型
- MVC4剃刀在客户端javascript中访问我的模型中的JsonResult数据
- 在视图模型中使用 MVC 视图返回 JsonResult 数据