从另一个页面返回后,$(document).ready()无效

时间:2014-07-24 05:05:06

标签: c# jquery asp.net ajax

我正在使用c#在asp.net中开发一个应用程序。在我的页面中,我已经完成了ajax调用以使用html加载页面。 html代码来自数据库。这个ajax调用是在document.ready()函数中编写的。当我第一次加载页面时,其工作正常。当我要去另一页时,这也很好。但是当我试图从该页面返回时,document.ready()无效。因此,html代码也没有被填充。如何解决这个问题,请从这里帮助我。

Document.ready()代码如下:

$(document).ready(function () {
    tempName = GetParameterValues("templateName");
    //alert(tempName);
    if (tempName != "" || tempName != null) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "DesignCenter_Static.aspx/loadTemplatePackage",
            data: "{'template_name':'" + tempName.toString() + "'}",
            dataType: "JSON",
            success: function (data) {
                var temp_data = data.d.toString();
                var temp_arr = new Array();
                temp_arr = temp_data.split("|");

                $("#divTemplateLayout").html(temp_arr[0].toString());
                $("#inputForm").html(temp_arr[1].toString());
                $("#divButtonSet").html(temp_arr[2].toString());


                $("#inputForm").find('[id^="txt"]').each(function () {
                    var cName, labelControlName, divControlName, resizeClassName, existingClassName, txtName;
                    txtName = $(this).attr("id");
                    cName = txtName.slice(3, txtName.length);
                    divControlName = "lbl" + cName;

                    $("#" + divControlName + "").resizable({
                        maxWidth: 300,
                        minHeight: 16,
                        minWidth: 50,
                        containment: "parent",
                        autoHide: true,
                        handles: "n, e, s, w, ne, se, sw, nw"
                    });
                    $("#" + divControlName + "").draggable({ cursor: 'move', containment: ".setLimit" });
                });

            },
            error: function (result) {
                alert("Error");
            }
        });
    }

    $("#ddlZoom").val("100%");
    currentZoomLevel = $("#ddlZoom").val();
    fillInitialDesignStudio();
});

其他页面的后退按钮代码如下:

$(function () {
        $("#btnBack").click(function () {
            var resPage = GetParameterValues("responsePage");
            var tempName = GetParameterValues("templateName");
            window.location.href = resPage + "?returnPage=BC_Proof.aspx&templateName=" + tempName;
        });
    });

添加jquery库的主页代码:

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.placeholder.js"></script>

<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/holder.js"></script>
<%--<script src="js/colpick.js" type="text/javascript"></script>--%>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript" src="js/placeholders.min.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="js/spectrum.js"></script>
<script type="text/javascript" src="js/scolor.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
<script type="text/javascript" src="js/jquery.Jcrop.js"></script>

<script src="js/ui/jquery.ui.core.js"></script>
<script src="js/ui/jquery.ui.widget.js"></script>
<script src="js/ui/jquery.ui.button.js"></script>
<script src="js/ui/jquery.ui.position.js"></script>
<script src="js/ui/jquery.ui.menu.js"></script>
<script src="js/ui/jquery.ui.autocomplete.js"></script>
<script src="js/ui/jquery.ui.tooltip.js"></script>

提前致谢

1 个答案:

答案 0 :(得分:0)

问题是templateName无法正常运行,检查Ajax数据,

   data: "{'template_name':'" + tempName.toString() + "'}",

你的BackButton代码:

   var tempName = GetParameterValues("templateName");

使用GetParameterValues("template_name");代替GetParameterValues("templateName");