使用JQuery防止Html.Action

时间:2012-10-14 12:47:48

标签: jquery asp.net-mvc-3 asynchronous progressive-enhancement

快问我们,我的观点是

    <div class="product_list">
        @Html.Action("GetProducts", "Products")
    </div>

,控制器只是

public ActionResult GetProducts(string country, string currency, int category){
    var viewModel = new ProductsViewModel{
        Products = _proxy.GetProducts(country, currency, category, page)};

    return PartialView(viewModel);
}

然后,GetProducts View只在foreach循环中呈现每个产品

如果启用了JS并且异步使用JQuery调用te服务,我想阻止这种情况发生。像

这样的东西
$(".product_list").SOMETHING(function(event) {
    event.preventDefault();
    ...
 });

我该怎么做?

1 个答案:

答案 0 :(得分:1)

请改为尝试:

$(".product_list a").click(function(event) {
    event.preventDefault();
    // code to be executed.
 });

修改 根据@kooshka评论

当JS被禁用时:

<div class="product_list">
    <!-- Will execute when JS is disabled in browser -->
    <noscript>
        @Html.Action("GetProducts", "Products")
    </noscript>
</div>

当启用JS时,脚本代码应为:

$(".product_list").SOMETHING(function(event) {
    event.preventDefault();
    $(".product_list").html('@Html.Action("GetProducts", "Products")');
    ...
});

祝你好运!!