我正在尝试这样做:
问题是当我在文本框中更改值时,我的模型永远不会更新,我确信我遗漏了一些剃刀, 视图:
@model MvcTestApp.Models.Car
<div class="b1">
<div class="b2">@Html.EditorFor(e => e.KM)</div>
<div class="b2">@Html.EditorFor(e => e.RegistrationNumber)</div>
</div>
@Html.ActionLink("Car", "sendCar")
控制器: 在SendCar上,我想更新模型。
namespace MvcTestApp.Controllers
{
public class CarController : Controller
{
public ActionResult Show()
{
var model = new MvcTestApp.Models.Car()
{
RegistrationNumber ="12345",
KM = "12345"
};
Session["temp"] = model;
return View("Show",Session["temp"]);
}
public ActionResult sendCar()
{
return View("Show", Session["temp"]);
}
}
}
型号:
namespace MvcTestApp.Models
{
public class Car
{
[DataType(DataType.Text)]
public string KM { get; set;}
[DataType(DataType.Text)]
public string RegistrationNumber { get; set;}
}
}
答案 0 :(得分:0)
您需要让sendCar控制器更新模型。目前,您执行的所有更改只会在本地持续存在,直到您离开页面为止。您需要将更改的模型发布回服务器。
查看此示例的“处理编辑”部分,了解如何完成此操作:
答案 1 :(得分:0)
您应该阅读有关ASP.NET MVC的beginner tutorial,它将向您解释如何将数据从表单发送到控制器,因为您似乎完全不知道如何执行此操作。
你不会错过'某事',你遗漏了从表格到控制器的数据。
答案 2 :(得分:0)
执行此操作的方法是将模型详细信息包装在具有提交功能的表单中。然后在你的sendCar方法中接受一个Car对象,模型绑定将负责设置新对象的所有内容。
如果你想坚持这个(我认为这仅仅是出于测试目的?)那么也许让你的汽车在你的show方法中返回一个类变量。