【发布时间】:2013-10-21 08:59:48
【问题描述】:
我正在浏览一个动作方法代码,我看到那里使用了一个属性,但我真的不明白它的用途。这是代码
public ActionResult User([Bind(Include = "Username,FullName,Email")]User user)
{
if (!ModelState.IsValid()) return View(user);
try
{
user.save()
// return the view again or redirect the user to another page
}
catch(Exception e)
{
ViewData["Message"] = e.Message;
return View(user)
}
}
([Bind(Include = "Username,FullName,Email")]User user)
我只是不明白上面那一行 Bind include etc
所以请帮助我理解当人们在 mvc 中编写这种代码时使用的这种属性。如果有人通过示例小代码让我理解他们将在哪里使用Bind attribute,那将是非常好的帮助。
更新: 假设我有表单,用户只能输入名字、姓氏和性别,那么我的操作方法看起来像
public ActionResult Edit(string FirstName,string LastName,string Gender)
{
// ...
}
我认为这会起作用。那为什么我应该使用绑定属性,因为我上面的操作方法可以正常工作。
【问题讨论】:
-
根据您的编辑:如果您按照建议的方式“分块”数据,您将失去 MVC(以及堆栈中的其他技术)必须提供的许多东西。另外,如果您的
Person课程发生变化怎么办?如果您有其他操作对此类型执行操作怎么办?那么单元测试呢?映射到其他层(服务、DAL 等)?
标签: c# asp.net-mvc asp.net-mvc-3