1

クイック質問、私はこれを私の見解で持っています

    <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 ビューは各製品を foreach ループでレンダリングします。

JS が有効で、JQuery を使用してサービスを非同期に呼び出す場合に、これが発生するのを防ぎたいと思います。何かのようなもの

$(".product_list").SOMETHING(function(event) {
    event.preventDefault();
    ...
 });

これどうやってするの?

4

1 に答える 1

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")');
    ...
});

幸運を !!

于 2012-10-14T13:02:05.327 に答える