2009-11-26 5 views
1

MVC 프로젝트에서 문제가 발생했습니다. 이 작업을 수행하려고 해요 :MVC 게시물 문제

보기에서 jqgrid에 일부 데이터를로드하고 일부 사용자의 선택에 따라 해당 선택 사항을 javascript VAR에 저장하고 $ post를 통해 전달했습니다. 컨트롤러의 액션에, 그 액션은 자신의 뷰이고 이전에 통과 한 데이터를로드한다고 가정합니다.

데이터 전달에 문제가 없지만 데이터가 새보기 (두 번째보기)에 도달하면 단순히로드되지 않습니다. 데이터가 두 번째보기에 도달했음을 확인하기 위해 디버그를 만들었지 만 페이지에는 표시되지 않습니다. 여기

내 자바 스크립트의 코드는 다음과 같습니다
$.post("/MyController/MyAction", { strParams: myParam }); 

가 내 컨트롤러 여기

public ActionResult MyAction(string[] strParams){... return View(myobject);} 

내 두 번째보기 헤더 :

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/SiteIC.Master" Inherits="System.Web.Mvc.ViewPage<object[]>" %> 

...

w가 표시되지 않습니다. 여기에 문제가있다. 모든 것이 보이지 않는 두 번째보기를 제외하고 OK가되었다.

답변

2

가 어디 뷰로드 기대

return View("yourviewname", myobject); 

친절,

댄를 시도 할 수 있을까? 당신은 단순히 컨트롤러 액션에 게시 할 예정입니다

$.post("/MyController/MyAction", { strParams: myParam }); 

이 작업을 수행하고 그 결과에 아무것도 할 때 (당신은 AJAX 호출이 방화 광을 사용하여 수행되는 것을 확인할 수 있습니다). 당신이 컨트롤러 액션에 의해 반환 된 결과로 뭔가를하고 싶은 경우에 당신은이 시도 할 수 : 또한

$.post("/MyController/MyAction", { strParams: myParam }, function(result) { 
    // result variable will contain the HTML rendered by the action 
}); 

을 당신이 당신의 컨트롤러 액션 대신의 부분보기를 반환 할 필요가있는 DOM에 어딘가에 결과 HTML을 삽입하려는 경우 전체보기 :

public ActionResult MyAction(string[] strParams) 
{ 
    // ... 
    return PartialView("~/Views/MyController/MyAction.ascx", myobject); 
} 
1

당신은 이제까지 사용하여보기 시켜라을 반환합니다 return View(myobject); 당신이