2015-11-06 62 views
0

我有以下菜單項的引導側面菜單MVC +引導

<li class="treeview"> 
    <a href="#"> 
     <i class="fa fa-files-o"></i> <span>Reporting</span> <i class="fa fa-angle-left pull-right"></i> 
    </a> 
    <ul class="treeview-menu"> 
     <li> 
      <a href="@Url.Action("Enquiries", "Enquiry", new {captureQuote = false})"><i class="fa fa-circle-o"></i> Enquiries</a> 
     </li> 
    </ul> 
</li> 

問題是,當我點擊它,它會路線/Enquiry/Enquiries?captureQuote=True

我只是想讓它顯示/Enquiry/Enquiries 目前我正在使用的控制器以下解決方法,但它是凌亂,它會顯示/Enquiry/EnquiryList

[HttpGet] 
    public ActionResult Enquiries(bool captureQuote) 
    { 
     Session["Q"] = captureQuote; 
     return RedirectToAction("EnquiryList"); 
    } 

    public ActionResult EnquiryList() 
    { 
     var captureQuote = (bool)Session["Q"]; 
     return View("Enquiries",new EnquiriesModel() 
     { 
      CanDoQuote = captureQuote 
     }); 
    } 

什麼是更好的選擇來做到這一點?

+1

This [SO question] 21552117/how-to-remove-the-querystring-parameters-in-url-in-mvc4-with-razer-using-url-act)有一些有用的信息,你不能擺脫查詢字符串中的某些數據,但您可以使網址看起來更乾淨。 –

回答

-1

您可以使用POST而不是GET。因此,您可以用一個包含隱藏字段的表單來替換鏈接,以避免出現在查詢字符串中:

@using (Html.BeginForm("ActionName","ControllerName")) 
{ 
    @Html.Hidden("ID",value) 

    <button type="submit">Submit</button> 
} 
+0

這不回答OP的問題。你只是告訴OP如何使用'POST'請求 –