【发布时间】:2011-06-06 21:20:17
【问题描述】:
我是 MVC3 和 Jquery 的新手。也许我没有采取正确的方法,如果有更好的解决方案,请告诉我。
我想使用 JQuery 来更改我的 MVC 应用程序中的视图。我在主页上有一个产品列表。当用户点击一个产品时,我用 Jquery 向服务器发送一个带有产品 ID 的请求,并切换到产品详细信息视图。在我更改视图之前,我会做 Jquery 爆炸效果。我正在使用 Jquery 效果的回调函数来提交请求。当我调试我的代码时。调用产品详细信息控制器并返回详细信息视图。但是 Web 浏览器不会更改产品详细信息视图。它停留在主页上。
这是我的产品控制器:
public class ProductController : Controller
{
public ActionResult Details(string productId)
{
return View();
}
}
带有回调的jQuery爆炸效果:
$(".productOriginal").click(function () {
$(this).hide("explode", {}, 1000, productSelectedCallback);
});
jQuery 回调:
function productSelectedCallback() {
var prodId = $(this).attr("id");
var data = { productId: prodId.toString() };
$(this).load('/Product/Details');
}
除了 .load 之外,我还使用了 .post 和 .ajax 并得到了相同的结果。所以,我必须从根本上错过一些东西。
我正在使用默认注册路由。 products 文件夹的设置与 home 文件夹相同,并且有一个 details.cshtml。
感谢您的帮助!
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-3 jquery-ui razor