使用ajax或回发后发布操作的差异

时间:2012-11-05 20:11:00

标签: jquery ajax c#-4.0 postback asp.net-4.0

所以我的问题有点奇怪,因为我没有了解它(ajax方法)

我只是重用了我遇到的原始函数,重命名并测试了函数。

所以在其他不同情况下(更常见):

一些<asp:TextBox>控件,一个提交按钮。

Ajax优于c#asp.net PostBack的优势是什么?

这是代码

 function AppsName_AjxUpdt(CurrentColumn, recNumSplited, newValue, TBX, ActionRequest, RecordNum) {
        $.ajax({
            type: 'POST',
            url: 'YourPageNameHere.aspx',
            data: {
                'PostSentByAjax': "true",
                'CurrentColumn': CurrentColumn,
                'recNumSplited': recNumSplited,
                'value': newValue,
                'ActionRequest': ActionRequest
            },
            success: function (data) {
                //alert(data);
                if (type == "UpdateUserID") {
                    TBX.setAttribute(defaultValue, newValue);

                    refreshData();
                }
                if (type == "reason") {
                    window.form1.submit();
                }

                if (type == "delete") {
                    document.getElementById("row_" + rowid).style.display = "none";
                    document.getElementById("totalMins").innerHTML = "<span style='text-decoration:underline;color:#A7C942;cursor:pointer;' onclick='refreshData();'>Refresh Results</span>";
                }
            }
        });
    }

那么这个代码行为Vs将<asp:TextBox>绑定到autopostback功能有多么不同? 我可以说我做了什么笔记,...我能看到的优点是:

仅当您要在代码中创建包含嵌入式c#代码的动态表时,才能生成元素id的{​​{1}}和name属性,以及同时你希望该控件通过它自己的事件回发(并且因为value没有回发事件),并且如果你在标签的范围内应用了c#代码,它可以不是在使用asp时:TextBox只输入类型“text”。

1 个答案:

答案 0 :(得分:5)

ASP.NET Postback使页面经历了完整的Page生命周期。 Ajax帖子是异步的,不会重新加载您的页面。从这个意义上说,如果使用Ajax调用发布帖子,则不会触发与页面生命周期相关的特定ASP.NET服务器事件。因此,您不会获得Page_InitPage_LoadButton点击或类似内容。