如何在 MVC 中发布项目列表 [英] How can I post a list of items in MVC
本文介绍了如何在 MVC 中发布项目列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的表单,其中包含一个项目列表,我想将它们发布到控制器,但有趣的是我不能.除了列表之外,其他所有内容都正常进行.我检查了 firebug 中的 ajax 调用,post 值是这样的:
Answers[0].IsMissing FalseAnswers[0].Text JaAnswers[0].Value 0答案[1].IsMissing FalseAnswers[1].Text Nein答案[1].值 1编号 1cd14b08-ce3b-4671-8cf8-1bcf69f12b2d姓名 Ja/Nein
我有一个具有以下属性的 AnwserScheme 类:
public string Name { get;放;}public bool IsMissing { get;放;}公共列表答案 { 得到;放;}公共答案方案(){Answers = new List();}
我有这个视图代码:
@for (int i = 0; i Model.Answers[i].IsMissing)@Html.TextBoxFor(model => Model.Answers[i].Value,new { @class = "inputValue" })</td><td>@Html.TextBoxFor(model => Model.Answers[i].Text,new { @class = "inputAnswer" })</td><td><span class="span-delete"data-answer-scheme-id="@Model.Id"data-answer-id="@Model.Answers[i].Id" >x</span></td></tr>}
我有这段负责发帖的ajax代码:
$.ajax({url: "/AnswerScheme/AddAnswer",类型:帖子",数据:$("#formAnswerScheme").serialize(),成功:功能(数据){控制台日志(数据);$("#divAnswerSchemeContainer").html(data);}});
我的控制器中有一个添加答案操作:
[HttpPost]public PartialViewResult AddAnswer(AnswerScheme answerScheme){......这里有一些逻辑}
所以最后控制器收到模型,但只收到简单的属性,而不是列表.任何帮助将不胜感激!干杯.
解决方案
我希望我能看到更多你的类和代码,因为你没有正确设置.
我根据您提供的内容重新创建了一些内容,这很有效.我为此示例创建了一个 MVC 3 项目.
视图/共享/_Layout.cshtml
<头><title>@ViewBag.Title</title><link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css"/><script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>头部><身体>@RenderBody()