3
我需要創建Razor助手的第二個重載,並且想從另一個輔助器(具有一些特定參數)調用一個助手。有什麼辦法可以實現它嗎?從另一個調用一個剃刀助手
我需要創建Razor助手的第二個重載,並且想從另一個輔助器(具有一些特定參數)調用一個助手。有什麼辦法可以實現它嗎?從另一個調用一個剃刀助手
肯定的:
using System.Web.Mvc;
using System.Web.Mvc.Html;
public static class ActionLinkExtensions
{
public static IHtmlString MyActionLink(this HtmlHelper html)
{
// call the base ActionLink helper:
return html.ActionLink("some text", "someAction");
}
}
,然後在您的視圖:
@Html.MyActionLink()
如果你正在談論@helper
剃刀助手,你需要通過HtmlHelper
的實例作爲參數,因爲它不可用在幫助上下文中:
@helper MyActionLink(HtmlHelper html)
{
@html.ActionLink("some text", "someAction")
}
然後:
@MyActionLink(Html)
個人而言,我更喜歡,因爲它是視圖引擎無關,並且可以在你喜歡的,而第二個是剃刀具體,如果明天微軟發明了刀片式視圖引擎,你將不得不重寫任何其他視圖引擎移植的第一種方法大部分代碼。
謝謝!我忘記了@內線幫助電話:( – SiberianGuy
@Idsa,很高興你能使它工作嗎?還有其他問題,或者你可以考慮關閉這個線程嗎? –
對不起,我一段時間沒有電腦 – SiberianGuy