我有一个HTML.BeginForm()来更改用户的数据(电子邮件,密码等),但我想在同一页面上分离内容,我的意思是会有:
MainContent with submit button and also
- a HTML.BeginForm() with fields to change password + submit button
- a HTML.BeginForm() with fields to change email + submit button
问题是,我想允许用户更改密码而不将所有表单数据发送到控制器,只发送密码字段中的数据。
该视图继承自我的商业对象(登录,密码,电子邮件等)
任何想法如何做到这一点都会非常有帮助。谢谢!
答案 0 :(得分:3)
如果您想避免POST所有数据,请为您要制作的每种表单提交单独执行一个控制器操作
class Mycontroller
{
[HttpPost]
public ActionResult ChangeEmail(int id,string email)
{
// modify email for user with id id
}
[HttpPost]
public ActionResult ChangePassword(int id,string password)
{
// modify password for user with id id
}
}
您可以使用如下参数指定表单提交的操作:
Html.BeginForm("ChangeEmail")