我有以下viewModel
public class ExerciceViewModel
{
public string Code { get; set; }
public string Titre { get; set; }
public int QuestionCourante { get; set; }
}
以下视图
@model MonEcoleVirtuelle.ViewModel.ExerciceViewModel
@{
ViewBag.Title = "Test";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Test</h2>
@using (Html.BeginForm("test", "exercice", FormMethod.Post))
{
@Model.Code <br />
@Model.Titre<br />
@Model.QuestionCourante<br />
<br />
<br />
Model.Code = "Code Modifie";
<input type="submit" value="Post Moi Ca!" name="fini" />
}
和以下控制器方法
[HttpPost]
public ActionResult Test(ViewModel.ExerciceViewModel model)
{
if (ModelState.IsValid)
{
return Content(model.Code);
}
return View(model);
}
[HttpGet]
public ActionResult Test()
{
var vm = new ViewModel.ExerciceViewModel { Code = "code1", Titre = "Mon titre", QuestionCourante = 1 };
return View(vm);
}
当我提交表单时,传递的模型为空,所有属性都将重置,而不保留原始值。我想念什么。
谢谢
好吧,@Model.Code
您需要一些输入,而不是仅显示值。
所以@Html.TextBoxFor(m => m.Code)
举个例子
要管理集合,您可以执行以下操作:
@for (var i = 0; i < Model.Collection.Count; i++) {
Html.TextBoxFor(m => Model.Collection[i].Property)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句