使用asp.net mvc隐藏/显示元素

时间:2014-12-03 17:25:30

标签: c# asp.net-mvc razor

我意识到这可能很简单,但我所有的尝试/研究都是空洞的。

我的观点中有以下内容

@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属性。

还有更好的方法吗?我看了两个不同的模型,但隐藏/显示元素似乎很多......

1 个答案:

答案 0 :(得分:1)

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

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

但是,如果这是正确的方法,您还不清楚知道哪些网址。