我渲染菜單從局部行動直接向佈局,採用 「面積=?」:T4MVC @ Url.Action(MVC.Controller.Action())呈現參數的查詢字符串
@Html.Action(MVC.Menu.Index())
這動作,確定要渲染哪個菜單局部。例如,一個公共菜單部分。這些泛音之內,我也使用T4MVC呈現鏈接:
<ul id="navHolder">
<li class="level1">
<ul class="mainMenu">
<li><b>@Html.ActionLink("Welcome", MVC.Home.Index())</b>
...
出於某種原因,由T4MVC呈現的網址包含「面積=?」的結尾:
<ul id="navHolder">
<li class="level1">
<ul class="mainMenu">
<li><b><a href="/home/index?Area=">Welcome</a></b>
...
我沒有在我的項目中,我已將「IncludeAreasToken」設置設置爲false。奇怪的是,如果我使這只是發生在局部使用「@ Html.Action」 - 如果我把它作爲「@ Html.Partial」參數沒有提供,而該鏈接是乾淨的,正確的。 (我不想以使其作爲一個部分了,所以請不要提供,作爲一個建議;)
任何人在那裏以前碰到這個?
謝謝 - 幫助。 –
我只是增加了一個檢查,看看是否被提供的區域,如果是的話我把它添加到字典:(!String.IsNullOrWhiteSpace(地區))'如果{result.RouteValueDictionary.Add(「區」,面積?「」 );}' –
@BradR:這個改變的問題是我認爲這並不總是正確的。當您在區域視圖中並且您嘗試生成到頂層(非區域)視圖的鏈接時,傳遞空白區域是「逃避」當前區域的正確方法。但是你的支票不會發生。 –