将数据从视图返回到控制器
Returning data from the View to the Controller
用户在我的视图中编辑数据后,如何将数据返回到我的控制器以便更新我的数据库?
控制器
public ActionResult Cv(int Id)
{
Cv CvBlog = new Cv();
CvPerson = db.Cv.Find(Id);
return View(CvBlog);
}
查看示例
在这种情况下,我想 return Name
的新值
<input type="text" class="form-control" value="@Model.Name" id="name" placeholder="Name">
非常感谢
在视图中使用 name 属性而不是 value 属性,如下所示。
<input type="text" class="form-control" id="name" name="@Model.Name">
在控制器中获取值使用 string name=Request["Name"]
请求["Name"] 将具有用户输入的值
一个选项是将 HTML 输入的 ID 添加到 return 函数的参数列表中,如下所示:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Cv(int id, string name)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}
更好的选择是创建一个 ViewModel 来捕获值(仍然基于 HTML 输入的 ID)。这样您还可以对它们进行一些简单的 field/property 级别检查。
查看模型:
public class CvEditViewModel
{
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Name { get; set; }
}
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Cv(CvEditViewModel model)
{
if (ModelState.IsValid == true)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}
return View(model);
}
在视图中刚刚设置名称属性
<input type="text" class="form-control" value="@Model.Name" name="name" id="name" placeholder="Name">
在控制器中
[HttpPost]
public ActionResult Cv(int id, string name)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}
用户在我的视图中编辑数据后,如何将数据返回到我的控制器以便更新我的数据库?
控制器
public ActionResult Cv(int Id)
{
Cv CvBlog = new Cv();
CvPerson = db.Cv.Find(Id);
return View(CvBlog);
}
查看示例
在这种情况下,我想 return Name
的新值<input type="text" class="form-control" value="@Model.Name" id="name" placeholder="Name">
非常感谢
在视图中使用 name 属性而不是 value 属性,如下所示。
<input type="text" class="form-control" id="name" name="@Model.Name">
在控制器中获取值使用 string name=Request["Name"]
请求["Name"] 将具有用户输入的值
一个选项是将 HTML 输入的 ID 添加到 return 函数的参数列表中,如下所示:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Cv(int id, string name)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}
更好的选择是创建一个 ViewModel 来捕获值(仍然基于 HTML 输入的 ID)。这样您还可以对它们进行一些简单的 field/property 级别检查。
查看模型:
public class CvEditViewModel
{
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Name { get; set; }
}
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Cv(CvEditViewModel model)
{
if (ModelState.IsValid == true)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}
return View(model);
}
在视图中刚刚设置名称属性
<input type="text" class="form-control" value="@Model.Name" name="name" id="name" placeholder="Name">
在控制器中
[HttpPost]
public ActionResult Cv(int id, string name)
{
//TODO: update Cv by whatever means you determine
return View("Index");
}