gpt4 book ai didi

c# - 在 ASP.NET 布局中呈现 JSON 字符串

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:04 25 4
gpt4 key购买 nike

所以我有一个表单,您可以在其中输入一些参数,然后它将表单输入返回给模型。然后我在我的 Controller 中使用 [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 字符串以及具有导航功能的布局。如何在帖子响应 View 中同时返回 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" />
}

最佳答案

因为您想在 View 中返回整个布局,所以我建议您根本不要对其进行序列化,而只是将对象本身传递给 View 。例如:

查看:

@model SomeObject
//View code goes here

行动:

[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);

return View(myObject);
}

但是,如果您绝对坚持在 View 中使用 Json 字符串,则将其作为字符串传递:

查看:

@model string

<script type="text/javascript">
var jsonData = @Model;
//snip
</script>

行动:

[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 View(JsonObject);
}

关于c# - 在 ASP.NET 布局中呈现 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31925298/

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