[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。。。靠了,这到底怎么回事。。。
你的控制器是User吗?
是,控制器里的代码都执行过,
return PartialView("_SendaddressIndex", addresslist);也执行了,调试也把_SendaddressIndex局部视图走过,就是到最后却error了。。。
@小小白白:
这样试试:
$.get("/user/Sendaddressindex", function (data, textStauts) {
$("#update").html(data);
},"html");
这样还是不行。
@小小白白:
你断点调试一下,看请求这个地址 /user/Sendaddressindex 返回的是什么
[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了。。
当然会报错了,你返回的是PartialView("_SendaddressIndex", addresslist); 是视图,而ajax默认是xml格式,你没有指定datatype,应该是dataType:html,你再测试下看看。希望对你有帮助!
dataType: 'html',