【发布时间】:2015-08-11 02:09:59
【问题描述】:
所以我有一个表单,您可以在其中输入一些参数,并将表单输入返回给模型。然后,我在控制器中的 [HttpPost] 响应中使用,首先将表单的结果输入到一个方法中,以从我的 API 返回一个 C# 对象。这是一个示例
[HttpPost]
public ActionResult MyView(MyModel myModelResponse)
{
var myVar = myModelResponse.UID;
var myVar2 = myModelRepsonse.name;
ObjectMethod myMethod = new ObjectMethod // calls new object
var myObject = myMethod.ObjectMethodObject(myVar, myVar2);
string JsonObject = JsonConvert.SerializeObject(myObject);
return JsonObject;
}
我使用 JSON.NET 将我的对象序列化为 JSON 字符串。我想返回 JSON 字符串以及具有导航的布局。如何在发布响应视图中同时返回 JSON 字符串和布局?
感谢您的帮助!
编辑 - 这是我要求的观点:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<html>
<body> @using (Html.BeginForm()) {
@Html.ValidationSummary()
<p> @Html.TextBoxFor(x => x.UID) </p>
<p> @Html.TextBoxFor(x => x.Name)</p>
<input type="submit" value="Submit Object" />
}
【问题讨论】:
-
如果这不是一个 ajax 请求,你为什么要序列化到 Json 而不仅仅是创建一个与
myObject具有相同类型的模型的普通 Razor 视图? -
对象必然会发生很大的变化,所以每次更新对象时重新定义模型是一件很痛苦的事情。对对象使用反射也很困难,因为它有字典
-
你想返回布局是什么意思?你能展示你的观点和你想要完成的事情吗?好像您正在发布到常规控制器但序列化为 JSON,这没有任何意义。
-
然后让你的视图模型类型
dynamic也许? -
其实想多了,你期望如何处理你认为的Json?
标签: c# json asp.net-mvc