1
RedirectToAction이 제대로 작동하고있는 것으로 (즉, 리디렉션 된 동작이 실행 됨) 특정 뷰가 클라이언트 측에서 렌더링되지 않고 URL이 다시 작성되지 않는 문제를 디버깅하려고합니다. 내 질문은 정말 어디에서 이것을 디버깅 할 수 있습니까? 여기 코드는 다음과 같습니다RedirectToAction을 디버깅하는 방법
형태 :
<%using (Html.BeginForm("Save", "Items", FormMethod.Post, new {id="ItemForm"})) {%>
<%=Html.AntiForgeryToken()%>
..form contents elided...
<%= Html.Button("btnSave", ViewData.Model.SaveMethod, HtmlButtonType.Submit) %>
<%= Html.Button("btnCancel", "Cancel", HtmlButtonType.Button,
"window.location.href = '" + Html.BuildUrlFromExpressionForAreas<ItemsController>(c => c.Index()) + "';") %>
<% } %>
컨트롤러 :
[ValidateAntiForgeryToken]
[Transaction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save(Item item)
{
if (item.Id == Guid.Empty)
return Create(item);
return Edit(item);
}
[ValidateAntiForgeryToken]
[Transaction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Item item)
{
if (ViewData.ModelState.IsValid)
{
ActionConfirmation updateConfirmation =
_itemManagementService.UpdateWith(item, item.Id);
if (updateConfirmation.WasSuccessful)
{
TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
updateConfirmation.Message;
return RedirectToAction("Index");
}
}
ItemFormViewModel viewModel =
_itemManagementService.CreateFormViewModelFor(item, _indicatorManagementService, _strategyManagementService);
return View(viewModel);
}
[Transaction]
public ActionResult Index()
{
ItemsFormViewModel viewModel = _itemManagementService.CreateListFormViewModel(_indicatorManagementService,
_strategyManagementService);
return View(viewModel);
}
나는 사용자 정의 모델 바인더를 사용하고 있지만, model.IsValid가 true를 반환하고 모델의 변경이 성공적으로 저장합니다. 나는 이걸 추적 할 곳을 잃어 버렸어.
감사합니다.