2011-07-05 18 views
0

私の拡張メソッドの定義はこれです:ビュー内から「params」パラメータを使用してメソッドを呼び出す方法は?

public static class HtmlHelperExtensions 
{ 
    public static Boolean MatchRoute(this HtmlHelper Html, 
            BaseViewModel Model, 
            String   ControllerName, 
            params   String[] ActionNames) 
    { 
     ... 
    } 
} 

をし、これは、それが私の見解

<li class="questions <% = Html.GetSelectedClass(Model, "questions", "viewquestion", "index") %>"> 

の内側が、この方法が唯一の最初と呼ばれるいくつかの奇妙な理由で使われている方法ですActionNamesの2つのパラメータがこのメソッドに渡されます。何が起こっている?

答えて

2

いいえ、これはうまくいくはずです。表示されているものはHtml.GetSelectedClassへの呼び出しであり、拡張メソッドではMatchRouteと呼ばれ、文字列ではなくブール値を返します。あなたの意見が強く型付けされている場合にも、あなたがモデルを渡す必要はありません、あなたはこれを行うことができます。その後、

public static class HtmlHelperExtensions 
{ 
    public static MvcHtmlString GetSelectedClass(
     this HtmlHelper<BaseViewModel> html, 
     string controllerName, 
     params string[] actionNames 
    ) 
    { 
     BaseViewModel model = html.ViewData.Model 
     ... 
    } 
} 

とを:

<%= Html.GetSelectedClass("questions", "viewquestion", "index") %> 
関連する問題