2011-11-22 5 views
0

C# .Net 웹 응용 프로그램이 있는데 내 제안 모델의 편집보기에 대한 컨트롤러의 HTML/ASP 텍스트 상자 중 하나에 액세스하려고합니다. MVC가 아닌 앱에서는 Control.ControlCollection.Find()을 사용하여이 작업을 수행 할 수있었습니다. MVC3 프로젝트에 해당하는 기능이 있습니까?MVC3 이름으로 컨트롤 찾기

+0

당신이 HTML 내에서 ID하여 텍스트 상자에 액세스하려고, 또는 당신이 컨트롤러의에 액세스하려고 ction? – Codeman

답변

2

MVC에 Control.ControlCollection.Find()의 동등 물이 있습니까?

MVC에서 컨트롤러가 컨트롤을 알지 못합니다.

컨트롤러는 매개 변수를 통해 데이터를 수신하고 함수 결과를 통해 데이터를 반환합니다.

컨트롤러 코드의 컨트롤로 무엇을하고 싶습니까?

당신이 값에 액세스하려는 경우, 당신은 매개 변수에 바인딩해야합니다

보기 :

<input name="MyControl" type="text" /> 

컨트롤러 : MVC 패턴이 일을 계속하도록 설계되었습니다

public ActionResult MyAction(string MyControl) { 
    // MyControl contains the value of the input with name MyControl 
} 
+0

@Jan .... 네, 맞아요. 잘못 말한 질문. 내가 뭘하려고하는지 일부 기본값을 설정됩니다. 두뇌 경련. 지금은 기본 값에 모델의 속성을 할당하고 있습니다 .... – MikeTWebb

1

분리.

  • 은보기 만 뷰가 존재한다는 것을 알고 그것을 필요로하는 데이터의 종류 모든
  • 감사관의 컨트롤러에 대한 지식이 없습니다. 그것은 모른다 어떻게 데이터가 렌더링됩니다.

따라서 컨트롤러에서보기의 컨트롤/태그에 대한 정보를 얻을 수 없습니다. 뷰에서 javascript/jQuery를 사용하여 컨트롤러에서 적절한 조치를 호출해야합니다.

0

MVC 응용 프로그램에는 webform 응용 프로그램과 같은 컨트롤이 없습니다.
MVC에서는 컨트롤러에 필요한 데이터를 수집하여 뷰에 전달합니다. 일반적으로 뷰는 코드가 삽입 된 HTML 페이지입니다.
HTML을 생성하고 MVC에서 포스트 백을 처리하는 웹 폼의 컨트롤과는 반대로이 모든 작업을 수동으로 수행해야합니다. 따라서 컨트롤러에서 쉽게 액세스 할 수있는 속성 및 이벤트가있는 컨트롤이 없으며 자신의 코드로 모든 게시물을 처리해야합니다.
MVC 애플리케이션은 유지 관리가 훨씬 쉬우 며 제작 된 HTML에 100 % 영향을 미친다는 점에서 더 많은 작업이 필요합니다. 실제로 복잡한 컨트롤의 동작을 구현하면 될 수 있습니다. ..

0

음 아마도 나는이 늦은 오전하지만 u는보기에서 숨겨진 필드에 UR 값을 저장 한 후 코드에 따라 컨트롤러에 그 값을 액세스 할 수 있습니다 ... 미래에 다른 사람을 도움이 될 것입니다

Request.Form["hfAnswerOrder"].ToString(); 

포인트 - hfAnswerOrder 숨겨진 필드의 ID입니다

cshtml 페이지에서 내 컨트롤 ..

@Html.Hidden("hfAnswerOrder", Model.Answers.ToList()[0].AnswerOrder)