0

MVC4とRazorを使用しています

ActionLink を動的に作成すると予期しない結果が得られ、誰かが理由を説明してくれることを期待しています: 問題は、null を htmlAttribute として渡すと、URL が正しく生成されることです。ただし、値を渡すと、URL の Area セクションが台無しになります。

<li> @Html.ActionLink(link.LinkText, link.ActionName, link.ControllerName, rvd,link.ActionName.Equals(currentAction) && link.ControllerName.Equals(currentController)? new { @class = "currentMenuItem" }:null)</li>

http://localhost:48000/Accounts/Forum/TopicsGrid?Count=2&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D

null を htmlAttribute として渡すと、その正しい:

<li> @Html.ActionLink(link.LinkText, link.ActionName, link.ControllerName, rvd, null)</li>   

http://localhost:48000/Forums/Forum/TopicsGrid/1
4

1 に答える 1

0

ActionLink() オーバーロードはありませんDictionary, Object
最後のパラメーターは であるObjectため、routeValues パラメーターも objetc として解釈されるため、RouteValudDictionaryクラスのプロパティを読み取ります。

于 2012-09-09T17:10:51.910 に答える