2014-12-03 223 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是否是正確的方法。