.netコアWebアプリケーションに複数のフィールドを持つモデルがあります。.netコアのモデルにテキスト領域が正しくバインドされていません
モデルは非表示の入力、テキスト入力、選択リスト、テキスト領域をレンダリングするタグヘルパーとしてaspを使用するビューにバインドされています。
問題..
サーバーへの投稿では、すべての入力がテキストエリアを除いて、正常にバインドされています。これは常にnullとして処理されます。
さらに奇妙なことに、ビューをレンダリングする前にテキスト領域プロパティに値を割り当てると、値が期待どおり(奇妙なビットではなく)テキスト領域に表示され、サーバーにポストされると値がポストされますバック。しかし、値を変更しようとすると、Chromeがネットワークツールに新しい値が投稿されたことが表示されているにもかかわらず、元のモデルバインドではまだ元の値が選択されます。
誰もこのような経験はありますか?私は馬鹿(もう一度)ですか?
以下の私のコードの部分集合:
は、ビューをレンダリングします
public IActionResult Review()
{
var requestVm = new Request();
requestVm.AdditionalComments = "This was set in the model before rendering the view and should be overwritten.";
return View(requestVm);
}
HTML:
@model Models.Request
<form asp-controller="Request" asp-action="Review" method="post" role="form" enctype="multipart/form-data" class="ui form review">
<textarea asp-for="AdditionalComments" class="AdditionalComments"></textarea>
</form>
POSTアクション:
[HttpPost]
public IActionResult Review(Request requestVm)
{
// Some logic in here to save to db etc..
return RedirectToAction("Thank_You");
}
あなたが見ることができるように、何も特別なことはありません。
助けてください。
マークが
私はそれを含む質問を編集しました... –