PartialView의 경우 서버의 뷰에서 렌더링하면 Dave의 방법이 가장 잘 작동합니다. 코드를 DOM 준비 이벤트에 연결하기 만하면됩니다.
$(document).ready(function(){
//Javascript logic to fire goes here
});
하거나 속기 버전을 prever 경우 ...
그런 다음 같은 방법이 작동 아약스를 통해로드되는 부분 뷰를 렌더링하는 경우
$(function(){
//Javascript logic to fire goes here
});
. jQuery는 Ajax를 통해 클라이언트에 전달 된 HTML에서 javascript를 실행합니다. 일단 올바르게 호출 되었다면 DOM에 연결됩니다 (이 테스트를 자유롭게하면 DOM에 연결되면서 메모리가 실행됩니다. load()
메서드의 기능입니다.) 실행하려는 javascript가 응답에 있다고 가정합니다. 부모 페이지에서 Ajax 요청을 보내는 경우 가장 좋은 방법은 전체 이벤트에 연결하는 것입니다.
$("#wrapperAwaitingContent").load("/Grids/MyGridPartial", {id: null /*parameters*/}, function(text, status, xhr){
//Javascript logic to fire goes here
});
나를 위해 .load()
호출에 사용 된 URL은 또한 수있는 옵션이
$("#wrapperAwaitingContent").load("@Url.Action("MyGridPartial", "Grids")", {id: null /*parameters*/}, function(text, status, xhr){
//Javascript logic to fire goes here
});
서버에 UrlHelper를 사용하여 해결 될 때 (내가 여기 클라이언트 측에서 매개 변수를 채우는거야) Unobtrusive Ajax를 사용하여 이와 비슷한 작업을 수행합니다. (내가 여기에 서버 측에서 매개 변수를 채우는거야)
@Ajax.ActionLink("Load Data", "MyGridPartial", "Grids", new { id = null/*parameters*/ }, new AjaxOptions() { UpdateTargetId = "wrapperAwaitingContent", OnComplete="onCompleteMethodName" })
이이 완료 때 당신은 HTML과 호출하는 방법을 수신 할 요소 이외의 AjaxOptions에 대해 설정할 수있는 이상의 속성이 있지만 찾을 I 공유 자바 스크립트 파일에 정의 된 함수를 재사용하여 다음과 같이 입력하면 채워집니다.
$("a[data-ajax='true']").each(function() {
var ajaxUpdate = $(this).closest("data-ajax-container");
$(this).attr("data-ajax-update", $(this).attr("data-ajax-update") ? $(this).attr("data-ajax-update") : ajaxUpdate);
$(this).attr("data-ajax-mode", $(this).attr("data-ajax-mode") ? $(this).attr("data-ajax-mode") : "replace");
$(this).attr("data-ajax-success", $(this).attr("data-ajax-success") ? $(this).attr("data-ajax-success") : "AjaxSuccess");
$(this).attr("data-ajax-complete", $(this).attr("data-ajax-complete") ? $(this).attr("data-ajax-complete") : "AjaxComplete");
$(this).attr("data-ajax-failure", $(this).attr("data-ajax-error") ? $(this).attr("data-ajax-error") : "AjaxError");
});
"HTML의 절반이 렌더링되면 서버에서 JavaScript를 실행 하시겠습니까? " –
기본적으로 부분 뷰가 렌더링 된 후 클라이언트 측의 부분 뷰에서 제공하는 데이터 (모델)에 액세스해야합니다. 나는 모델에 대해 조작을 수행 할 일부 클라이언트 측 코드를 실행할 수 있도록 여러 가지 방법으로 자바 스크립트 함수를 실행하려고 시도했지만, 모든 시도는 심각하게 실패했다. –