2016-10-18 18 views
-2

MVC4アプリケーションを開発中で、ページングがあります。私はページに1つのチェックボックスを持っています。私はすべてのフィールドの値を保持したいので、私はページングを使用しています。私はモデルとビューバックを使用して、テキストボックスとドロップダウンリストの値を保持しています。私は値を保持するためにチェックボックスで問題を発見しています。MVC4でチェックボックスの状態をチェックする方法

たとえば、次のようにdropdownboxは、

@Html.DropDownListFor(x => x.doc_typeid, Model.doctype_name, "Select", new { @class = "form-control" }) 

たとえば、次のようにテキストボックスがあり、

 @Html.TextBoxFor(x => x.employeeID, Model.employeeID, new { @id = "employeeID", @placeholder = "Employee ID", @class = "form-control text-input", @maxlength = 20 }) 

は、これが私のチェックボックスです。

@for (int i = 0; i < Model.EmploymentType.Count; i++) 
{ 
     @Html.CheckBoxFor(m => m.EmploymentType[i].isChecked, new { id = "employmentType_" + i }) 
     @Html.HiddenFor(m => m.EmploymentType[i].checkBoxName) 
     @Html.DisplayFor(m => m.EmploymentType[i].checkBoxName) 
} 

ここでは、チェックボックスのチェック値を保持する方法がわかりません。どんな助けもありがとう。

答えて

0

サーバーに要求が戻されたときに、チェックボックス自体は保持されません。保存する主な方法は、チェックボックスがサーバーにポストバックする形式になっていることを常に確認することです。フォームが返信されたら、Model.EmploymentTypeコレクションからフォームを取得します。

アクションを実行するすべてが実際にはGETではなくPOSTであることに注意してください。

0

これはモデルが対象とするものです。

フォーム、ドロップダウン、フォームを送信するボタンがあるとします。 ボタンを押すと、モデルオブジェクトがコントローラに戻されます。今度はフォームを再表示したいので、現時点では既存のモデルをそのままビューに戻す必要があります。

だから、ポストバック前に、あなたの行動はこれを行うことができます:ポストバック後

Return View("someView"); 

はあなたが

Return View("someView", model); 

モデルにそれを変更したいのは、あなたが最初にした後、コントローラに戻って得たものです提出する。

それは意味がありますか?

ViewBagやSessionなどにあまり依存しないでください。このモデルはあなたのためにすべてのことをうまくカバーすることができます。

関連する問題