뷰를 호출 할 때 컨트롤러의 컨트롤에 포커스를 설정할 수 있습니까?mvc3 - 컨트롤러에서 제어 할 포커스 설정
(I 전형적인 가장 좋은 방법은 페이지가로드 될 때 컨트롤에 포커스를 설정 jQuery를 사용하는 것입니다 알고 있습니다.)
뷰를 호출 할 때 컨트롤러의 컨트롤에 포커스를 설정할 수 있습니까?mvc3 - 컨트롤러에서 제어 할 포커스 설정
(I 전형적인 가장 좋은 방법은 페이지가로드 될 때 컨트롤에 포커스를 설정 jQuery를 사용하는 것입니다 알고 있습니다.)
컨트롤러의 작업 (그들 중 하나)가 제공하는 뷰 모델을 설정하는 것입니다 올바르게 렌더링하기에 충분한 정보를보십시오. 즉, 컨트롤러와 뷰는 느슨하게 결합되어야합니다.
여기에 한 가지 방법이 있습니다. 이것은 좀 더 우아하게 할 수 있지만 다소 분리되어 있습니다. 클라이언트 측 스크립팅을 수행하는 데 여전히 JavaScript가 필요하지만 뷰 모델의 값을 기반으로 스크립트가 생성됩니다.
컨트롤러
public ActionResult Foo(){
var model = new MyViewModel();
model.SelectedItem = "FirstName";
return View(model);
}
보기
@model MyViewModel
@Html.TextBoxFor(o => o.FirstName)
@if(Model.SelectedItem != default(string)){
<script>$("#@(Model.SelectedItem)").focus();</script>
}
한 가지 서버에 세상의 모든 기술을 가지고 있지만에서 할 수 있다는 것입니다 당신은 웹 개발에 대해 배울 수있다 결국, 그 기술은 Html, CSS 및 JavaScript 표준을 생성해야합니다.
즉, 서버에서 클라이언트에서 자동으로 수행 할 수있는 특별한 마법이 없음을 의미합니다. 일부 프레임 워크는 자동으로 코드를 생성 할 수 있지만 나중에 표준 HTML/CSS/JS로 처리해야합니다.
MVC는 표준 일반 HTML 만 렌더링합니다. 웹폼은 많은 것을 할 것입니다.하지만 결국 웹폼은 표준 HTML을 생성해야합니다. 이것은로드시 초점을 설정하는 페이지에 포함 된 javacript를 자동 생성하여이를 수행합니다.
MVC는 이러한 작업을 수행하지 않으므로 기본적으로 동일한 작업을 수행해야하지만 MVC를 작성해야합니다. 간단한 jquery를 사용하면 비교적 간단합니다.