2012-01-13 137 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