0

編集 ページは初めてajax呼び出しを行います。次に、ページの DOM を変更します。そのため、次にユーザーがリンクをクリックすると、ページは ajax 呼び出しを行いません。ダイアログで open メソッドを呼び出すだけです。そのため、その行は ajax 呼び出しの一部ではありません。ユーザーがリンクを 2 回目にクリックすると、ダイアログがより速く表示されると思っていましたが、そうではありません。そのはるかに遅いです。誰でも説明できますか?

私のページには、jquery ダイアログを開くリンクが含まれています。リンクの背後にあるコードは

popup = $("#div").dialog({
    autoOpen: false,
    minHeight: 600,
    width: 1000,
    modal: true,
    resizable: false,
    draggable: false,
    position: { my: "top center" },
    closeText: "Cancel",
    buttons: {
        "Add": function () {
            $("#frm").submit();
            $(this).dialog("close");
        },
        "Cancel": function () {
            $(this).dialog("close");
        }
    }
});



//get data for dialog
$.ajax({
    url: "/ControllerMethod/Controller",
    dataType: "html",
    data: "personID=" + personId + "&evidencetype=" + eType,
    success: function (data, event, xhr) {
        $("#div").html(data);               
    }
});        
popup.dialog("open");

注: popup、personId、eType は以前に定義されています。

ajaxが呼び出すコントローラーメソッドはこれです

public ActionResult ControllerMethod(string category)
{
    Model1 model = new Model1();
    Model2 cat = new Model2(category);
    model.property.Add(cat);

    return PartialView("view", model);
}

このモデルには約 1200 行が含まれています。1 回目は期待どおりにダイアログが表示されますが、2 回目は、スクリプトの実行に時間がかかりすぎるというスクリプト エラーが生成されます。

1) スクリプト エラーを取り除き、2) 適切な時間内にダイアログを表示するにはどうすればよいですか?

ありがとう

4

0 に答える 0