1

所以我的问题有点奇怪,因为我没有了解它(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>";
                }
            }
        });
    }

那么这个代码行为与绑定<asp:TextBox>到自动回发功能有什么不同呢?我可以说我做了笔记,...我可以看到的优势是:

仅当您想在标签中创建一个带有嵌入式 c# 代码的动态表,以便您可以生成元素idnames 和values 属性,同时您希望该控件通过它自己的事件回发(并且因为没有)的回发事件html controls,并且如果您确实在标记范围内应用了 c# 代码,则在使用 asp:TextBox 时不能这样做:仅输入类型“文本”。

4

1 回答 1

6

ASP.NETPostback使页面经历一个完整的Page生命周期。Ajax 帖子是异步的,不会重新加载您的页面。从这个意义上说,如果您使用 Ajax 调用发布帖子,则不会触发与页面生命周期相关的特定 ASP.NET 服务器事件。所以你不会得到Page_Init, Page_Load, Buttonclicks 或类似的东西。

于 2012-11-24T19:56:28.007 回答