0

私はこの問題を抱えています。編集ページがあり、そのプロパティの 1 つがハイパーリンクです。1 つの div がビデオ リストを表示しています。リンク (「削除」など) をクリックすると、選択したアイテムを削除する ajax 呼び出しがトリガーされます。しかし、私は奇妙な問題を抱えています。リンクをクリックするたびに、「削除」メソッドの代わりに現在のページである「編集」ページが呼び出されます。私のリンクはこのようにレンダリングされます。

<a href="#" class="video" id="@Model.VirtualTourGalleries[i].Virtual_Tour_Id">Delete</a>

助けてください。これが私のコードです。

HTML

<div class="fieldElem">
        <div class="editor-label">Virtual Tours & Videos</div>
        <div class="editor-field">  
            <table id="gridVirtualTours">
                <thead>
                    <tr>
                        <th>VIDEO</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    @if (Model.VirtualTourGalleries != null)
                    {
                        for(var i = 0; i < Model.VirtualTourGalleries.Count(); i++)
                        {
                            @Html.HiddenFor(model => model.VirtualTourGalleries[i].Virtual_Tour_Id)
                            <tr>
                                <td>@Model.VirtualTourGalleries[i].Virtual_Tour_Title</td>
                                <td><a href="#" class="video" id="@Model.VirtualTourGalleries[i].Virtual_Tour_Id">Delete</a></td>
                            </tr>

                        }
                    }
                </tbody>
                <tfoot>
                </tfoot>
            </table>

        </div>
    </div>

jQuery関数

$("#gridVirtualTours").on('click', '.video', function () {
            var tr = $(this).closest('tr');
            $.ajax({
                url: "deletevideo",
                type: 'POST',
                data: { videoid: $(this).attr('id') },
                success: function (result) {
                    if (result) tr.remove();
                }
            });
        });

コントローラ

[HttpPost]
        public ActionResult DeleteVideo(int? videoid)
        {
            return Json("", JsonRequestBehavior.AllowGet);
        }

イメージのデバッグ

ここに画像の説明を入力

「削除」をクリックすると、「削除」ではなく「編集」が呼び出されます

ここに画像の説明を入力

4

3 に答える 3

0

jquery ajax URL プロパティで適切な大文字と小文字を区別するアクション名を使用します。すなわちurl: "DeleteVideo",

于 2013-04-23T07:29:51.390 に答える