0
以下のコードはビューにエラーを表示していません。ビューにエラーが表示されるようにするにはどうすればよいですか?私の見解ではアクションの種類がRedirectToRouteResultのときにエラーが表示される
public static void CopyTo(this RulesException ex, ModelStateDictionary modelstate)
{
CopyTo(ex,modelstate,null);
}
public static void CopyTo(this RulesException ex, ModelStateDictionary modelstate, string prefix)
{
prefix = string.IsNullOrEmpty(prefix) ? "" : prefix + ".";
foreach (var propertyerror in ex.Errors)
{
string key = ExpressionHelper.GetExpressionText(propertyerror.Property);
modelstate.AddModelError(prefix + key, propertyerror.Message);
}
}
:
は//何かがうまくいかない場合、私はにModelStateに
[HttpPost]
public RedirectToRouteResult TaskDueDate(int id, int taskid)
{
var duedate = Request.Form["duedate"];
var duetime = Request.Form["duetime"];
try
{
var newduedate = DateHelper.GoodDate(duedate, duetime);
_service.SetTaskDueDate(id, taskid, newduedate);
this.FlashInfo("success, task due date has been updated...");
}
catch (RulesException ex)
{
ex.CopyTo(ModelState);
}
return RedirectToAction("TaskDetail");
}
ex.CopyTo拡張メソッドをエラーをコピーもしそうなら、私は、どこかのルールの例外をスローします私は基本的には:
<div id="Errors">
<span id="ServerResponse"></span>
<%= Html.ValidationSummary(false, "")%>
</div>
私はモデルの状態がクリアされ、リダイレクトにエラーが残っていないと思う???
私はいつも同じページを表示することを好むとは思っていませんでした。問題は現在、データベースから多くのものが必要となるため、ビューを再構築する必要があります。ありがとう – Haroon