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

C# 使用asp.net mvc隐藏/显示元素,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我意识到这可能很简单,但我所有的尝试/研究结果都是空的 我的观点如下 @if (Model.HasError) { <div class="alert alert-danger" role="alert"> Username or password is incorrect </div> } 这将产生所需的结果并显示消息。但是,url也会填充来自模型的所有值。我真的只想显示模型的hasrerror属性 有没有更好的方法来做这件事?我

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

我的观点如下

@if (Model.HasError)
{
    <div class="alert alert-danger" role="alert">
           Username or password is incorrect
    </div>
}
这将产生所需的结果并显示消息。但是,url也会填充来自模型的所有值。我真的只想显示模型的
hasrerror
属性

有没有更好的方法来做这件事?我考虑过使用两种不同的模型,但仅仅隐藏/显示一个元素似乎太多了……

您可以创建一个新的
用户
对象,然后设置
HasError
属性:

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

但不清楚您看到的URL是否正确。我猜
@URL.Action(“Login”,model)
-因为OP希望有一个单一的操作模型,并查看模型的所有字段,所以URL中会出现所有字段(可能包括纯文本密码,使其更加荒谬)。
public ActionResult Login(User model)
{
    return View(new User() {HasError = true});
}