使用MVC部分视图调用ajax

时间:2015-08-20 22:11:37

标签: javascript jquery ajax asp.net-mvc-3 asp.net-mvc-4

我正在尝试进行ajax调用以获取数据和修改DOM。

这是我的控制器/动作看起来像

   [HttpGet]
public ActionResult Index(int id)
{
// some code
return PartialView(Custom Object);
}

这是我的索引视图看起来像

@Model CustomObject
    @foreach(loop thru Model)
    {
// add some other elements
}
if(Model.Count==0){
<script>some script</script>
}else{
<script>variable = '<div></div>'</script>
}

这是主视图代码

<script>var variable ='';</script>
<script>$('element').html(variable)</script>
<tbody id="tbodyId">
@RenderAction("Index");
<tbody>

这是我的Ajax Call。我试图做

function test(id){
$.ajax({
type:'Get',
url:'/Home/Index?id='+id,
datatype:'html'
})
.done(function(data){
$('#tbodyId').html(data);
});
}

我的问题来自上面的ajax调用,它没有从局部视图中附加脚本元素。

我从javascript方面尝试了不同的方法。但是,我不确定我是否正确行事。所以,我需要一些来自潜在客户的建议。

这是我试过的另一种方式。但没有运气

var scriptElement = document.createElement('script');
            scriptElement.innerHTML = $('#tbodyId').last().html();
            document.getElementById('#tbodyId').appendChild(scriptElement);

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

$.ajax({
url:'/Home/Index?id='+id,
type:'Get',
datatype:'html',
complete : function(data){
   $('#tbodyId').html(data);
},
error : function(data){
   alert(data);
}
});

试试这个ajax调用功能。希望这会有所帮助。如果还有任何问题都会出现错误信息,请说清楚。