我有这个AngularJs http.post-function。在我看来,我有一个Id:s列表。当我点击这些Id中的任何一个时,这个功能就会被击中。
$scope.GoToSinglePost= function (id) {
console.log(id);
if (confirm("Go to blogPost with " + id + " ?")) {
$http.post("/Home/SingleBlogPost", { postId: id });
}
};
这里的一切都很好,帖子让我到我的mvc c#actionresult女巫就是下面这个:
public ActionResult SingleBlogPost(int? postId)
{
var singlePost = _repo.GetSinglePost(postId);
var viewModel = new SingleBlogPostViewModel()
{
Post = singlePost
};
return View(viewModel);
}
在此ActionResult中,我从angularPost发送的postId进入参数int? postId
actionResult开始呈现,如果我调试它,我可以看到它会进入它的视图(SingleBlogPost.cshtml)
但是如果我在浏览器中观看它会发生什么,一切都保持不变。我从一开始就处于同一个观点。为什么我的SingleBlogPost Actionresult-view在浏览器中呈现?为什么我仍然在同一页面上,即使SingleBlogPost方法受到攻击并在调试时查看它的视图?
//由于
答案 0 :(得分:2)
尝试在操作完成后添加success
或then
以执行其他操作,例如:
$http.post("/Home/SingleBlogPost", { postId: id }).success(function(data) {
//data is your response from server to the request;
//do something with data here, like changing to correct view;
});