2011-11-17 12 views
0

MVC3 UI에서 구성 할 간단한 WCF 서비스를 만들었습니다.MVC3을 사용하여 인덱스보기에서 편집보기로 객체를 전달하는 방법

컨트롤러에서 색인 페이지를 호출 할 때 서비스에서 반환 한 구성에 포함 된 값을 표시하려고합니다. 그런 다음 사용자는 이러한 설정을 편집 한 다음 다시 서비스로 보낼 수 있습니다. 나는 인덱스보기에 이런 일을하고 싶지

...

<div> 
    @Html.ActionLink("Edit", "Edit", model) 
</div> 

다음과 같이 컨트롤러의 모델을 소비 ...

[HttpPost] 
    public ActionResult Edit(SettingsModel Config) 
    { 
     try 
     { 
      List<string> configErrors = null; 

      if (ModelState.IsValid) 
      { 
       // Set up a channel factory to use the webHTTPBinding 
       using (WebChannelFactory<IChangeService> serviceChannel = new WebChannelFactory<IChangeService>(new Uri(baseServiceUrl))) 
       { 
        IChangeService channel = serviceChannel.CreateChannel(); 
        configErrors = channel.SetSysConfig(Config); 
       } 
      } 
      return RedirectToAction("Index"); 
     } 
     catch 
     { 
      return View(); 
     } 
    } 

하지만이되지 않습니다 작업.

제안 사항 ???

+0

어떤 부분이 작동하지 않는지 설명해 주시겠습니까? 적어도 저에게는 그다지 명확하지 않습니다. –

+0

View의 "모델"개체를 "편집"작업 메서드로 전달할 때 문제가 있습니까? –

+0

@PawanMishra 이것은 정확히 내가 가진 문제입니다. 인덱스에서 모델을 설정보기로 전달할 수없는 것 같습니다. – TeamWild

답변

1

양식이 게시되면 모든 입력 유형 필드 데이터가 수집되어 서버로 전송됩니다. FireBug를 사용하여이 데이터를 볼 수 있습니다. 여기에서 요점은 양식에 게시되는 데이터이며, MVC의 기본 모델 바인더가 입력 메소드 매개 변수로 입력 매개 변수로 전달되는 모델 객체를 이해하고 매핑 할 수 있다는 것입니다.

귀하의 경우, 모델의 유형은 "SettingsModel"입니다. 게시되는 양식 데이터가 "SettingsModel"개체에 매핑 될 수있는 형식인지 확인해야합니다. 다른 스레드에서 논의 된 문제의

동일 종류 : Can't figure out why model is null on postback?

체크 아웃이 문서 : 위의 문서에서 NerdDinner Step 6: ViewData and ViewModel

는 조심스럽게 "는 뷰 모델 패턴을 사용"섹션을 통해 이동합니다. 내 생각 엔이게 네가 찾고있는거야.

+0

Brilliant. 고맙습니다. – TeamWild

0

편집 작업에 SettingsModel 개체를 채우려면 값을 게시해야합니다. 사용자가 보이지 않게하려면 숨겨진 양식 필드를 사용하여이 작업을 수행 할 수 있습니다. 그렇지 않으면 Edit 액션에서 매개 변수를 가질 수 없으며 웹 서비스를 다시 호출하여 Settings 모델을 채울 수 있습니다.

관련 문제