【发布时间】:2017-05-10 13:49:43
【问题描述】:
我有一个视图,在这个视图中我嵌套了一个局部视图。 我想要实现的是通过jQuery从主视图重新加载部分视图。
这是我目前得到的:
Index.cshtml
@{Html.RenderAction("SkillResult", "Home"); }
<script type="text/javascript">
var postData = { values: stringArray };
// Fire off the request to controller
$.ajax({
cache: false,
url: '/Home/SkillResult',
type: "POST",
dataType: 'json',
data: postData
});
</script>
SkillResult 控制器(部分视图)
public ActionResult SkillResult(List<String> values)
{
SkillContext skillContext = new SkillContext();
List<Skill> result= skillContext.Skills.ToList();
return PartialView(result);
}
SkillResult.cshtml
@model IEnumerable<Result>
@using SkillSearch.Models
<h2>SkillResult</h2>
@foreach (var item in Model)
{
<div>
@item.Name
<hr />
</div>
}
如您所见,我从局部视图所在的 Index.cshtml 中触发 Ajax 请求。如果我调试,我可以看到所有请求都在工作,但部分视图没有更新其内容。
【问题讨论】:
-
您需要
JSON.stringify(postData)您的数据! :-) -
不做就成功到达控制器
-
你的控制器中的
values是什么? -
它从ajax调用接收到的数据
-
LOL 他的意思是它包含什么......从你的代码中不清楚你为什么期望它更新 atall...你渲染视图,然后立即进行 ajax 调用,没有成功处理程序。是什么让你认为这会成功?将成功处理程序添加到您的 ajax 调用
标签: jquery asp.net-mvc razor