将表单发回服务器时,是否可以在控制器操作中操作,更改,设置HTTP Post中包含的值?我想删除用户输入的某些文本框值,以便始终必须重新输入这些值(例如密码字段).默认情况下,Html帮助程序从HTTP Post信息中提取HTML控件的初始值.
您不需要自定义ModelBinder.
[Bind(Exclude="Foo,Bar")]
public ActionResult Insert(T model)
Run Code Online (Sandbox Code Playgroud)
现在Foo和Bar都是空的.
这就是你要求的,但我不确定这是你的意思.:)
我的猜测是你的行动确实需要查看用户输入的密码(或其他).但是,例如,如果需要重新输入其他字段,则在重新显示表单时不希望填充密码.那是个好主意.但在这种情况下,模型绑定器甚至不会输入.只需在重新显示视图之前将该字段设置为null.
public ActionResult Insert(T model)
{
try
{
Repository.Add(model);
}
catch (Exception ex)
{
ViewData["Message"] = ex.Message;
model.Password = null;
return View(model);
}
// success!
return RedirectToRoute( //...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3101 次 |
最近记录: |