2014-07-17 3 views
0

기본 및 DevExpress 편집기 조합을 사용하여 약 50 개의 필드가있는 폼이 있습니다. 나는 또한 녹아웃을 사용하여 계산을 위해 텍스트 상자 값을 연결합니다. 페이지가 잘 렌더링되지만 업데이트를 저장하기 위해 게시하려고 할 때 컨트롤러의 게시 작업에 문제가 발생하지 않고 이전 값이 표시된 페이지가 다시로드됩니다.ASP.NET MVC 5 폼 포스트 리로드 페이지 처리 작업 없음

정확하게 페이지를 게시 할 수는 없지만 스 니펫을 게시 할 수 있습니다.

Index.cshtml :

@using(Html.BeginForm()) 
{ 
    <b>Comapny:</b> @Html.Partial("_CompanyComboBox", Model) 
    <br /> 
    @Html.Partial("_CompanyEditor", Model) 
} 

CompanyMonitoringController.cs : 내 동료의

[Route("CompanyMonitoring/{companyID:int?}")] 
public ActionResult Index(int? companyID = null) 
{ 
    var companies = this.CompanyRepository.GetCompanies().OrderBy(c => c.CoShtName); 
    Company selectedComapny = companyID != null ? companies.Where(c => c.CompanyID == companyID).Single() : companies.First(); 
    CompanyModel model = new CompanyModel(this.CompanyRepository.GetCompany(selectedComapny.CompanyID)); 
    PopulateLists(model, companies); 
    return View(model); 
} 
[HttpPost] 
public ActionResult Index([ModelBinder(typeof(DevExpressEditorsBinder))]CompanyModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     this.CompanyRepository.SaveCompany(model.ToCompany()); 
     return RedirectToAction("Index", new { companyID = model.CompanyID }); 
     } 
     PopulateLists(model); 
     return View(model); 
} 

답변

1

하나는 질문에 대답했다.

  1. 는 방법
  2. 얻을 색인에 [HttpGet] 추가 색인 포스트 방법에 [Route("CompanyMonitoring/{companyID:int?}")]]를 추가합니다.
+1

'[HttpGet]'은 필요하지 않지만 Get & Post에 대해 동일한 URL을 사용하려는 경우 게시 작업 방법의 경로가 반드시 필요합니다. – heavyd