2015-11-06 38 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'请求 –