8

次のコントローラーとアクション文字列の独自のオブジェクトに提供されるように、Visual Studioにコントローラーとアクションの構文の強調表示を提供させるにはどうすればよいですか?

使用する場合:

Html.Action("Index", "Home");

Visual Studioは、コントローラーとアクションに追加の強調表示を提供し、使用可能なものを検出しようとし、オプションとして表示します。

下の画像で、入力したコントローラーに基づいたアクションのオプションがどのように表示されるかに注目してください。これが私のカスタムコードで起こりたいことです。 コントローラー/アクションの良さ

私は次のようなHtmlHelper拡張メソッドを完全に機能させています:

public static MvcHtmlString Action(this HtmlHelper htmlHelper, string actionName, string controllerName, string myAwesomeField) {
        return Action(htmlHelper, actionName, controllerName, null /* routeValues */, myAwesomeField);
    }

私の拡張メソッドは、いくつかの文字列が必要であることを認識しているという点で、インテリセンスによって採用されています。Microsoftのコードを見ると、アクションとコントローラーのパラメーターは文字列ですが、Visual Studioはそれらのコントローラーとアクションが存在するかどうかを認識し、追加のインテリセンスサポートを提供します。ツールはどのようにそれを拾いますか?

4

2 に答える 2

3

Resharperを使用している場合(もちろんあなたはそうです)、これが私が5分で作業した完璧なソリューションです:

Jetbrainsブログの指示に従ってください。プロジェクトに含まれるjetbrains.Annnotations.csという名前のファイルに注釈のソースコードを含めるオプション2を選択しました。次に、以下のようにパラメーター属性の装飾を追加するだけで(私のメソッドWithLinkで)、すべてが正常に機能します。

public void WithLink([AspMvcAction] string action, [AspMvcController] string controller)

良い

于 2014-11-08T01:59:42.520 に答える
0

インテリセンスサポートを取得するには、拡張機能が存在する名前空間をViewsフォルダーのweb.configまたは特定のビュー自体(によって)に含める必要があります。@using

于 2012-10-27T10:46:19.683 に答える