2012-01-13 155 views
1

我想在MVC3中渲染使用jQuery的部分。我想這樣做,我更改了一個部分中的HTML,以便在下拉選擇更改時更新它。渲染部分使用jQuery

$(document).ready(function(){ 

    $("#partial-6").html(@Html.Partial("_Edit",Model.Groups[0])); 

}); 

當頁面加載時不修改該部分。只是說我在那裏輸入的「我是部分的」

回答

2

除非asp代碼添加引號,否則您需要這樣做。否則,你是不是傳遞一個字符串到.html()功能:

$(function(){ 
    $('#drop-down-id').on('change', function() { 
     $("#partial-6").html('@Html.Partial("_Edit",Model.Groups[0])'); 
    }); 
}); 

這每個#drop-down-id元素改變時就會把相同的代碼到#partial-6元素。如果您想實際更改要放入#partial-6元素的信息,則需要進行AJAX調用以從服務器返回部分。

$(function(){ 
    $('#drop-down-id').on('change', function() { 
     $.get('path/to/server-side.asp', { id : $(this).val() }, function (serverResponse) { 
      $("#partial-6").html(serverResponse); 
     }); 
    }); 
}); 

這將爲與該GET變量,id,其被設置爲觸發代碼的下拉的值發送的服務器端腳本的GET請求。

請注意,.on()是jQuery 1.7中的新增功能,在這種情況下與.bind()相同。

+0

感謝您的回覆。我只是不太明白。這個'path/to/server-side.asp'是什麼文件?這是控制器操作嗎? – 2012-01-13 21:51:40

+0

對不起,我幾乎不知道「asp.net」。然而,你想要做的是獲得一個AJAX調用的部分HTML。 – Jasper 2012-01-13 21:53:48