データを入力する必要があるアプリケーションがあり、データの送信時にデータがデータベースに保存されます。データベースをチェックインすると、入力は正常に保存されていますが、httppostの後にページをリロードすると例外が発生します。 DBで結合、ドロップダウンリストの値を取得するためにSystem.Web.Mvc.dllでSystem.ArgumentNullExceptionが発生しました
@Html.DropDownList("LineID", new SelectList(Model.dropConfig, "LineID", "LineID"), "-- Select LineID --", new { required = true, @class = "form-control" })
コントローラコード: 私はで例外を取得しています
[ActionName("DetailsForm")]
[HttpGet]
public ActionResult DetailsForm()
{
try
{
var model = new DetailsViewModel() { dropConfig = floorService.DropDownList().ToList() };
return View("DetailsForm", model);
}
catch (Exception ex)
{
return View("_error");
}
}
コントローラコードのポストhttpに:例外の
[ActionName("DetailsForm")]
[HttpPost]
public ActionResult DetailsForm(DetailsViewModel model, FormCollection form)
{
DetailsConfiguration detailsConfig = new DetailsConfiguration();
detailsConfig.LineID = Convert.ToString(form["LineID"]);
//Similary for other fields
floorService.SaveDetails(detailsConfig);
ModelState.Clear();
ViewBag.message = "Success";
return View("DetailsForm",model);
}
のように(アクションメソッドをGET DetailsFormによってレンダリング)ビューでそれを読むことができます;'、それが正常に動作します:)しかし、TempDataをまだ私のための成功メッセージを表示していません。 –
'TempData [" message "]'にアクセスすると、それが動作するはずです。次のリクエストに対してのみ有効です。どうやってそれを読んでいるの? – Shyju
私は 'TempData [" message "] =" Success ";' –