首页 新闻 赞助 找找看

MVC3 ajax返回局部视图

1
悬赏园豆:20 [已解决问题] 解决于 2011-10-12 13:59
     [HttpPost]
public ActionResult SendaddressIndex()
{
if (Request.IsAjaxRequest())
{
int userid = (bmwdb.users.SingleOrDefault(u => u.name == HttpContext.User.Identity.Name)).id;
List
<Sendaddress> addresslist = bmwdb.Sendaddress.Where(m => m.Userid == userid).ToList();
return PartialView("_SendaddressIndex", addresslist);
}
returnnull;
}

能找到_SendadddressIndex这个局部视图,

局部视图也能执行

@model List< MvcApplication4.Models.Sendaddress>

@if (Model != null)
{
<p>收件地址列表:</p>
foreach (var address in Model)
{
@Html.RadioButton("address", false, false, new { id = @address.id });
<span>@address.adre @address.Zipcode</span><br />
}
}



这是js

function address() {
alert(
'123123');
$.ajax({
url:
"/User/SendaddressIndex",
type:
"POST",
success:
function (data) {
alert(data);
$(
"#update").html(data);
},
error:
function (msg) {
alert(
"error:"+ msg.responseText);
}

})
}

但是到最后msg报错
说是什么路径不对,找不到default.aspx。。。靠了,这到底怎么回事。。。

Rookier的主页 Rookier | 小虾三级 | 园豆:652
提问于:2011-09-20 09:57
< >
分享
最佳答案
1

你的控制器是User吗?

收获园豆:10
artwl | 专家六级 |园豆:16736 | 2011-09-20 10:05

是,控制器里的代码都执行过,

return PartialView("_SendaddressIndex", addresslist);也执行了,调试也把_SendaddressIndex局部视图走过,就是到最后却error了。。。
Rookier | 园豆:652 (小虾三级) | 2011-09-20 10:15

@小小白白:

这样试试:

$.get("/user/Sendaddressindex", function (data, textStauts) {
$(
"#update").html(data);
},
"html");



artwl | 园豆:16736 (专家六级) | 2011-09-20 10:18

这样还是不行。

Rookier | 园豆:652 (小虾三级) | 2011-09-22 09:10

@小小白白:

你断点调试一下,看请求这个地址 /user/Sendaddressindex 返回的是什么

artwl | 园豆:16736 (专家六级) | 2011-09-22 09:12
        [HttpPost]
public ActionResult SendaddressIndex()
{
if (Request.IsAjaxRequest())
{
int userid = (bmwdb.users.SingleOrDefault(u => u.name == HttpContext.User.Identity.Name)).id;
List<Sendaddress> addresslist = bmwdb.Sendaddress.Where(m => m.Userid == userid).ToList();
return PartialView("_SendaddressIndex", addresslist);
}
return null;
}

返回的就是_SendaddressIndex这个局部视图,这个局部视图里也都走过去了,数据也都进这个局部视图里了,就是结果报找不到请求default.aspx页面的错误。。怎么招惹上default.aspx了。。

Rookier | 园豆:652 (小虾三级) | 2011-09-22 15:35
其他回答(2)
1

当然会报错了,你返回的是PartialView("_SendaddressIndex", addresslist); 是视图,而ajax默认是xml格式,你没有指定datatype,应该是dataType:html,你再测试下看看。希望对你有帮助!

收获园豆:10
高乐 | 园豆:188 (初学一级) | 2011-10-06 11:23
0

 dataType: 'html',

黎明&岁月 | 园豆:159 (初学一级) | 2013-05-31 16:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册