gpt4 book ai didi

asp.net-mvc-3 - Jquery .Post不显示返回的数据

转载 作者:行者123 更新时间:2023-12-01 01:34:56 25 4
gpt4 key购买 nike

将kendo开源与mvc3结合使用。

我有一个带有可选择行的剑道网格。当选择一行时,它应该向 Controller 方法发送一个值,然后根据该值渲染一个新 View 。我确信 Controller 方法已被命中,返回正确的数据并提供正确的 View 。使用 Chrome Web 开发人员工具,我可以在响应中看到渲染的页面,但浏览器中的 View 永远不会改变。所以它一直有效,直到它能够真正看到为止。

我的剑道脚本中的js:

        selectable: true,
change: function (e) {
var row = this.select();
var detailId = this.dataItem(row).PersonId;

$.post('@Url.Action("Detail", "Person")', { id: detailId });

}

Controller 方法:

    [HttpPost]
public ActionResult Detail(int id)
{

var model = new Person();

model = db.Person.Where(x => x.PersonId == id).FirstOrDefault();

return View(model);
}

知道为什么它不会渲染吗?

======编辑============

我在这里没有使用 ajax 函数,因为我不希望任何类型的响应返回到 js 函数。我希望将 id 发送到服务器端方法,我希望该方法运行,然后提供新 View ,然后我希望将其发送到客户端并呈现。除了最后一步(在客户端上渲染)之外,它正在执行所有操作。我应该使用不同的 jquery 方法吗?

最佳答案

虽然我对剑道网格不太精通,但我确定您需要以某种方式通过 $.post() 处理响应。

您应该使用 $.post(url,data,handler) 的重载;理想情况下,你的 js 代码中应该有这样的东西

$.post('@Url.Action("Detail", "Person")', { id: detailId }, function(data){
//now render the data wherever you want
});

关于asp.net-mvc-3 - Jquery .Post不显示返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16655413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com