2009-12-22 4 views
0

모든 기사 (기사/List.aspx)를 나열하는 페이지가 있습니다.Asp.Net MVC - RenderPartial - 목록보기로 만들기

또한 기사 (기사/Create.ascx)를 만드는 컨트롤이 있습니다.

나는 Create.ascx가 기사를 만들 수있게 해주는 List.aspx 페이지를 좋아할 것입니다.

MVC에서 선호하는 방법은 작업별로 한 페이지 씩입니다. 그러나이 경우 나는 그것을 할 필요가있다. 이것은 디자인 문제이며 클라이언트가 웹 사이트를 작동시키는 방법입니다.

<% Html.RenderPartial("Create", new Domain.Models.Article()); %> 

제대로 렌더링 : 지금은

그래서

, 나는 List.aspx에 다음 코드를 얻었다. 하지만 Create 버튼을 누르면 내 ArticleController의 Create [post] 메소드에 포함되지 않습니다.

그 이유를 어떻게 해결할 수 있습니까?

답변

1

버튼에 문제가있는 경우 사용자 컨트롤을 렌더링하는 방법과 관련이 없습니다. 우리는 버튼이 안에있는 폼 마크 업을보고, 그 문제가 가장 가능성이 높은 것을 보여줄 필요가 있습니다. 내가 대신 (표준 Create.aspx 페이지에있는 모든 내 코드를 넣으면 때문에,

<% using (Html.BeginForm("Create", 
    ViewContext.RouteData.Values["Controller"].ToString())) { %> 

    your control markup here 

<% } %> 
+0

문제는 버튼되지 않습니다 :

그러나 단지 참조

, 당신은 아마 같은 것을 할 방법을 찾고 컨트롤의), 그것의 작품. 하지만, 귀하의 권리, 귀하의 코드는 내가 찾고있는 것입니다. 나는 당신의 빠르고 좋은 대답에 감사드립니다! – Melursus

+0

@Melursus 문제는 버튼이 아닌 버튼 일 가능성이 높습니다. 컨트롤에서 어떤 컨트롤러를 사용해야 하는지를 알아야합니다. 어떤 컨트롤러인지 알고 있어야합니다. 그래서 ViewContext.RouteData.Values ​​[ "Controller"]를 포함 시켰습니다. 이는 페이지 내부에서 사용자 정의 컨트롤을 구현하는 컨트롤러를 나타냅니다. 그렇게하면 컨트롤러가 호출 된 것을 알 수 있습니다. – Joseph

+0

설명해 주셔서 감사합니다. 그게 더 나은 이해를 얻는 데 도움이됩니다! – Melursus

관련 문제