문제

안녕하세요 IM MVC를 처음 접했고 ViewData가 그들에게 반환 된 MVC 사용자 컨트롤을 구축하는 방법에 대해 운이 좋지 않고 낚시를했습니다. 누군가 가이 문제에 접근하는 방법에 대한 단계별 솔루션을 게시하기를 바랐습니다. 솔루션을 매우 상세하게 만들 수 있다면 큰 도움이 될 것입니다.

내 질문에 너무 이산되어 죄송합니다. 최후 통첩이하려는 일이 ID를 컨트롤러 ActionResult 메소드로 전달하고 컨트롤러 자체에서 직접 사용자 컨트롤로 렌더링하고 싶어한다는 것을 분명히하고 싶습니다. 나는이 접근법으로 시작하는 방법과 이것이 가능한지 궁금하지 않습니다. 그것은 본질적으로 내 마음에 이렇게 보일 것입니다

public ActionResult RTest(int id){
RTestDataContext db = new RTestDataContext();
var table = db.GetTable<tRTest>();
var record = table.SingleOrDefault(m=> m.id = id);

return View("RTest", record);
}

그리고 내 사용자 컨트롤에서 나는 그 레코드의 객체를 렌더링하고 싶습니다.

도움이 되었습니까?

해결책

귀하의 질문을 이해하면 ViewData를 사용자 컨트롤에 전달하려고합니다. 사용자 컨트롤은 본질적으로 부분적인 견해이므로 다음을 수행합니다.

<% Html.RenderPartial("someUserControl.ascx", viewData); %>

이제 UserControl에서 ViewData는 당신이 통과 한 모든 것입니다 ...

다른 팁

좋아, 여기는 간다 - 우리는 JSON 데이터를 사용합니다

ASPX 페이지에는 컨트롤러를 호출하는 ajax 호출이 있습니다. AJAX 호출에 사용 가능한 옵션 매개 변수를 찾으십시오.

URL : 클래스에서 함수를 호출합니다. (분명히) 우리의 클래스 이름은 JobController이고, 함수 이름은 UpdateJob이며 매개 변수가 필요하지 않습니다. URL은 ClassName에서 ControlLerPortion을 삭제합니다. 예를 들어 UpdateJob 함수를 호출하려면 URL은 '/job/updatejob/'입니다.

var data = {x:1, y:2};
$.ajax({
data: data,
cache: false,
url: '/ClassName/functionName/parameter',
dataType: "json",
type: "post",
success: function(result) {
//do something
},
error: function(errorData) {
alert(errorData.responseText);
}
}
);

JobController 클래스에서 :

public ActionResult UpdateJob(string id)
{
   string x_Value_from_ajax = Request.Form["x"];
   string y_Value_from_ajax = Request.Form["y"];
   return Json(dataContextClass.UpdateJob(x_Value_from_ajax, y_Value_from_ajax));
}

Ajax 호출을 매핑하는 Global.asax.cs 페이지가 있습니다.

public class GlobalApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default",                 // Route name
    "{controller}/{action}/{id}",     // URL with parameters
        new { controller = "EnterTime", action = "Index", id = "" }  // Parameter defaults  (EnterTime is our default controller class, index is our default function and it takes no parameters.)
    );
  }
}

나는 이것이 당신을 좋은 출발로 데려 가기를 바랍니다. 행운을 빕니다

System.web.mvc.viewuserControl을 확장하고 전달하는 한 사용자 컨트롤 내부에서 뷰 데이터에 액세스 할 수 있다고 확신합니다. 코드 스 니펫이 있습니다.

<%Html.RenderPartial("~/UserControls/CategoryChooser.ascx", ViewData);%>

그리고 내 카테고리 내에서 viewData가 액세스 할 수 있습니다.

귀하의 문제를 완전히 이해하는지 확실하지 않지만 "ASP.NET MVC 프로젝트에 사용자 컨트롤을 추가하는 방법"에 대한 답변이 있습니다.

Visual Studio 2008에서는 항목 추가를 선택할 수 있습니다. 왼쪽 범주에서 Visual C#> Web> MVC를 선택할 수 있습니다. MVC 뷰 사용자 컨트롤 옵션이 있습니다. 그것을 선택하고, 이름을 선택하고, 원하는 마스터 페이지를 선택하면 가면 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top