2014-12-03 195 views
0

我意识到这可能很简单,但我所有的尝试/研究都已经空了。用asp.net隐藏/显示元素mvc

我有我的视图

@if (Model.HasError) 
{ 
    <div class="alert alert-danger" role="alert"> 
      Username or password is incorrect 
    </div> 
} 

下面和我的控制器看起来或多或少像

public ActionResult Login(User model) 
    { 
     model.HasError = true; 
     return View(model); 
    } 

这产生所希望的结果和消息的显示。但是,url也会使用模型中的所有值填充。我真的只想要显示模型的HasError属性。

有没有更好的方式去做这件事?我看着有两个不同的模式,但它似乎想了很多,只是隐藏/显示元素....

+0

@DStanley我猜'@ Url.Action(“Login”,model)' - 因为OP希望拥有单一的动作模型并查看模型的所有字段将最终在url中(可能包括纯文本密码让它更荒谬)。 – 2014-12-03 17:32:23

回答

1

可以只需要创建一个新的User对象并设置HasError属性:

public ActionResult Login(User model) 
{ 
    return View(new User() {HasError = true}); 
} 

但是目前还不清楚你所看到的URL是否是正确的方法。