System.NullReferenceExceptionが発生しました:使用しているウィザードで "back"を押したときにオブジェクト参照がオブジェクトのインスタンスに設定されていません(また、私がブラウザに戻ったときに「再確認の確認」ページが表示されます)。これは、次のコードが原因である(私のウィザードまたはブラウザの戻るボタンに「戻る」打つこのシステムを使用せず、通常は正常に動作します):Checkbox/radiobuttonsのEditorTemplateを使用したオブジェクト参照エラーの発生
// Loop through the items and make sure they are Selected if the value has been posted
if(Model != null)
{
foreach (var item in selectorModel.Items)
{
if (supportsMany)
{
var modelStateValue = GetModelStateValue<string[]>(Html, fieldName) ?? ((IEnumerable)Model).OfType<object>().Select(m => m.ToString());
item.Selected = modelStateValue.Contains(item.Value);
}
else
{
var modelStateValue = GetModelStateValue<string>(Html, fieldName);
item.Selected = modelStateValue.Equals(item.Value, StringComparison.OrdinalIgnoreCase);
}
}
}
エラーがitem.Selected = modelStateValue.Equals(item.Value, StringComparison.OrdinalIgnoreCase);
ウィザードで発生しますウィザードの「戻る」ボタンのコードは、コントローラで次のようになります。
public ActionResult EMailQuoteConfirm(string backButton, string nextButton)
{
if (backButton != null)
return RedirectToAction("EMailQuoteBasicDetails");
else if (nextButton != null)
return RedirectToAction("EMailQuoteSubmitted");
else
return View("EMailQuote/Confirm", myData);
}
アドバイスをいただければ幸いです。