2016-11-09 3 views
0

私はこの答えで説明したように何かをしたい:https://stackoverflow.com/a/25062743/5837056クライアント側でカミソリのタグを追加するJavascriptを、ASP.NET MVC

私の質問は、変更はjavascriptを作るには、ポストの後に持続しますか?または、ビューは.cshtmlファイルにハードコードされているものとしてリロードされますか?

申し訳ありませんが、これは間違った質問です。

答えて

1

ビューは.cshtmlファイルにコード化されているようにリロードされますが、カミソリコードは挿入されたhtmlに置き換えられます。

など。上のユーザーが、あなたのモデルに応じて注入されたコードを変更かみそりでいくつかの条件または反復文を作る場合

@EditorFor(x=>x.Example) 

しかし

<input type="text" id="Example" name="Example"/> 

など

に置き換えられます、あなたを終了最初のビューに影響を与える可能性があります。

たとえば、渡されたオブジェクトの量に基づいて文字列エディタのコレクションを表示している場合、その番号に応じて.cshtmlファイルのコードが変更されます。

@foreach(var item in Model.Items) 
{ 
    @EditorFor(x=>item.Example) 
} 

は、お使いのベースのHTMLコードを変更し、このように

<input type="text" id="Item_0_Example" name="Item_0_Example"/> 
<input type="text" id="Item_1_Example" name="Item_1_Example"/> 
<input type="text" id="Item_2_Example" name="Item_2_Example"/> 

に置き換えられます。

リンクした例では、ページが更新されると、ビューは元の状態に戻ります。

+0

ありがとうございました。私は、このモックアップのようにボタンを使ってフォーム入力を追加させようとしています:https://jsfiddle.net/cinerobert/409k27ot/8/( "Yes"をクリックしてから "Cash"をクリックし、新しい下側にボタンがある受信者)。しかし、私はフォームの投稿の後に追加の入力が必要です。どのようにそれを達成するための任意のアイデア? –

+1

あなたがIListのアイテムを使用するか、何が必要データ型/オブジェクトタイプの場合は、使用してモデルに動的なリストをマッピングすることができ、 <入力タイプは、=「text」の名=「アイテム[0] _PARAMETER」/> ここでは0をイテレータの値に置き換えます。 あなたのページを投稿すると、アイテムはコントローラ内のリストにバインドされます。この目的のために、渡されたリストを使用することができます。ビューを再度表示する必要がある場合は、オブジェクトをビューに戻して再表示することができます。 –

+0

ありがとうございます。私は与えられた素晴らしいアドバイスを理解するために実験をしています! –

関連する問題