2012-03-30 7 views
0

基本的に、フォームを構築するために普通の古いHtmlを書くのではなく、ヘルパーメソッドを呼び出して、必要なものを返すようにしたいと思います。_Layout.cshtmlから特定のクラスの "EditorFor"を呼び出すにはどうすればよいですか?

<div class="contacto-container"> 
    <h1>Envíenos sus consultas:</h1> 

    @Html.Editor("BuzonDeSugerenciaModel", "BuzonDeSugerenciaModel") 

    <div class="separator"></div>  
</div> 

これは実際に私が行うと思われることではありません。

これは、出力:

<input id="BuzonDeSugerenciaModel" 
     class="text-box single-line" 
     type="text" value="" name="BuzonDeSugerenciaModel"> 

そしてない私はモデルクラス、BuzonDeSugerenciaModelで宣言された入力のコレクションを。これは強くビューを入力した場合は、私が行った場合

、それは大丈夫だと思う:これは_Layout.cshtmlファイルで実行されているので

@Html.EditorForModel() 

しかし、私は何か他のものを必要としています。私はこれを行う方法を理解できません。

アイデア?

答えて

1

BuzonDeSugerenciaModelクラスに強く入力された部分的なビューを作成する必要があります。この部分図はViews > Sharedディレクトリにあります。このような

サムシング(_BuzonDeSugerenciaModel.cshtml):

@model BuzonDeSugerenciaModel 

@Html.EditorForModel() 

次に、あなたの_Layout.cshtmlに、あなたが呼び出すことができます。

@Html.Partial("_BuzonDeSugerenciaModel", Model.buzonDeSugerenciaModel) 

は、あなたが2番目の引数としてBuzonDeSugerenciaModelのインスタンスを渡す必要があります〜Partial()。あなたは1つの渡されたフォームControllerを持っていない場合は、このようなものは動作します:

@Html.Partial("_BuzonDeSugerenciaModel", new BuzonDeSugerenciaModel()) 
関連する問題