asp.net-mvc - urlaction - mvc actionlink model parameter




ASP.NET MVCはビューとコントローラをどのようにリンクしますか? (3)

Visual Studioは、〜/ Views / {YourControllerName}の下にFolderが存在する場合はそのフォルダを作成し、そこにビューを配置します。 そこに見つからない場合は、〜/ Views / Sharedフォルダーが表示されます。 ビューを手動で作成する場合は、それらのフォルダの1つ、つまり〜/ Views / {YourControllerName}フォルダにページを追加する必要があります。 NerdDinnerチュートリアルを読み、実際にこれを見てください。

http://nerddinnerbook.s3.amazonaws.com/Intro.htm

ビューにリンクするコントローラメソッドを右クリックすると、Visual Studioにはどのコードが追加されますか?

Visual Studioを使わずに、これをどのように(コントローラとビューをリンクして)行うことができますか?


Visual Studioはテンプレートを使用して既定のビューを作成します。 テンプレートは、 [Visual Studio Install Directory] ​​\ Common7 \ IDE \ ItemTemplates [CSharp | VisualBasic] \ Web \ MVC \ CodeTemplatesフォルダにあります。

MVC .ASPXページを手動で作成する場合は、単に空のページを作成して、次の属性を持つPageディレクティブを指定する必要があります。

  • 言語( "C#"または "VB")
  • MasterPageFile(デフォルトは〜/ Views / Shared / Site.Master
  • 継承(強く型付けされたモデルの場合、 ViewPage < ModelClassName >を使用、それ以外の場合はViewPageを使用

例:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="ViewPage<ListCompanyManagerDetailsViewModel>" %>

ユーザーコントロール(.ASCX)では、MasterPageFile属性が使用されておらず、ViewUserControlから継承されていることを除いて、同じ規則が適用されます。

例:

<%@ Control Language="C#" Inherits="ViewUserControl<Contact>" %>

PS私のクラス名の前に名前空間がない理由は、web.configのセクションで宣言したからです。


デフォルトでは、asp.net MVCはIViewEngineの実装であるFormViewEngineを使用します。 IViewEngineには、 "Views / Controller /"フォルダから実際にビューファイルを探す "FindView"と "FindPartialView"という2つのメソッドがあります。

ありがとう、
Rajeesh





asp.net-mvc