首页 新闻 会员 周边

asp.net ajax的问题

0
悬赏园豆:100 [已解决问题] 解决于 2018-02-28 13:47

点击提交ajax没有执行,请问我是哪里出错了
前台
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            邮箱
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="Button1" runat="server" Text="保存"/>
            <script>
                $(function () {
                    $("#Button1").click(function () {
                        $.post("userData.aspx/test", { phone: $("#TextBox1").val(), email: $("#TextBox2").val() },
                            function (data, status) {
                                $("#TextBox1").val() = data.split(",")[0];
                                $("#TextBox2").val() = data.split(",")[1];
                                alert(status);
                            });
                    });
                });
            </script>
后台
    [WebMethod]
    public void test(string phone,string email)
    {
        db da = new db();
        da.openDatabase();
        da.sql = "update [dbo].[test1] set phone='" + phone + "',email='" + email + "' where userName='" + Session["userName"] + "'";
        da.cmd = new SqlCommand(da.sql, da.conn);
        da.cmd.ExecuteNonQuery();
        da.conn.Close();}

_呵儿的主页 _呵儿 | 初学一级 | 园豆:54
提问于:2018-02-27 21:45
< >
分享
最佳答案
0

在浏览器里看看这个页面生成的HTML源代码, <asp:Button ID="Button1" runat="server" Text="保存"/>的ID很可能不是Button1了,那么你JS脚本中的$("#Button1")就什么都没找到。

另外,关键的一点:你的Button1是一个服务器控件,一般情况下被点击时会导致页面立即回发(PostBack),然后这个页面在浏览器端会被重新加载(表单提交给当前页自身)。这样不管你之前的AJAX请求发没发出去,之前的页面已经被浏览器卸载了,重新加载后的页面页收不到ajax的响应。

so,,,,,,

收获园豆:40
西漠以西 | 小虾三级 |园豆:1675 | 2018-02-28 09:54
其他回答(4)
1

ID(WebForms控件ID)非彼id(前端html控件),添加ClientIDMode="Static"可以让它们统一

<asp:Button ID="Button1" runat="server" Text="保存" ClientIDMode="Static"/> 
收获园豆:30
dudu | 园豆:31007 (高人七级) | 2018-02-27 22:12
0

浏览器F12打开调试器,看看是否有数据正确发到后台

收获园豆:5
andywangguanxi | 园豆:250 (菜鸟二级) | 2018-02-28 08:49
0

服务器控件生成的ID和前端控件的ID不一样的。整明白ID的区别

收获园豆:5
_Vegetables | 园豆:586 (小虾三级) | 2018-02-28 10:19
0
  $("#Button1") 改成  $("#<%= Button1.ClientID %>")
收获园豆:20
悟行 | 园豆:12559 (专家六级) | 2018-02-28 11:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册