【问题标题】:Using AJAX to send create new user details via asp.net使用 AJAX 通过 asp.net 发送创建新用户的详细信息
【发布时间】:2013-11-05 05:49:03
【问题描述】:

通过 ajax 将用户名和密码发送到 .net 中的代码隐藏页面的最佳方式是什么。

我有一个 index.aspx 页面,如下所示:

                    <asp:TemplatedWizardStep>
                        <CustomNavigationTemplate>


                            <div style="margin-bottom:7px;text-align:left;">To create an account, simply send us your e-mail address. A password will be sent to this address upon submission.</div>
                            <table border="0" cellpadding="3" cellspacing="0" style="width:99%;">
                                <tr>
                                    <td style="text-align:left; vertical-align:middle;width:90px;">E-Mail:</td>
                                    <td style="text-align:left; vertical-align:middle;">

                                        <asp:TextBox ID="UserName" runat="server" CssClass="newUserTextbox"></asp:TextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td style="text-align:left; vertical-align:middle;width:90px;padding-top:5px;">Screen name:</td>
                                    <td style="text-align:left; vertical-align:middle;padding-top:5px;">
                                        <asp:TextBox ID="ScreenName" runat="server" CssClass="newUserTextbox"></asp:TextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td style="text-align:left; vertical-align:middle;">&nbsp;</td>
                                    <td style="text-align:right; vertical-align:middle;padding-top:5px;">
                                            <asp:imagebutton ID="CreateUser" CommandName="CreateUser" Enabled="true"  runat="server" AlternateText="OK" ImageUrl="powerstats/inc/img/ok_up.png"></asp:imagebutton>

                                            <a href="javascript:InitializeLogin()"><img src="powerstats/inc/img/cancel_up.png" style="cursor:pointer;" onmouseover="SwapImageIndex(this,'cancel_ov.png')" onmouseout="SwapImageIndex(this,'cancel_up.png')" /></a>
                                    </td>
                                </tr>
                            </table>                                   
                        </CustomNavigationTemplate>
                    </asp:TemplatedWizardStep>

我希望单击 imagebutton 并向后端页面发送一个带有用户名和屏幕名(以及最终密码)的 ajax 调用。如果我这样做 onClick=X 页面会刷新。如果出现问题,我希望页面不要刷新并发送警报。

【问题讨论】:

    标签: c# asp.net .net authentication .net-3.5


    【解决方案1】:

    您需要使用UpdatePanelScriptManager。如果提交发生在 UpdatePanel 内,它只会通过 AJAX 返回 UpdatePanel 本身内的内容。

    如果你想处理可能出现的错误,你可以使用AsyncPostBackError EventScriptManager。有关错误处理的完整示例,请参阅 MSDN page

    代码看起来像(+ 你的错误处理逻辑):

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:TemplatedWizardStep>
        <CustomNavigationTemplate>
             <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                   /* Your login controls here ...
                      Make sure to include all the fields 
                      to be refreshed + the submit button */
                </ContentTemplate>
            </asp:UpdatePanel>
        </CustomNavigationTemplate>
    </asp:TemplatedWizardStep>
    

    【讨论】:

    • 所以使用 updatepanel 和 scriptmanager 只允许更新面板而不刷新页面?
    • 确实如此。 UpdatePanel 是 ASP.Net 中 AJAX 的实现。 ScriptManager 创建 html 脚本标签和所有 AJAX 逻辑(调用服务器和响应)。
    • 我还能在后面的代码中使用客户端脚本管理器来显示 javascript 警报吗?那部分似乎不起作用
    • 你想只在出现错误时运行javascript代码(查看MSDN链接)还是在调用成功时运行?
    猜你喜欢
    • 1970-01-01
    • 2014-11-08
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    相关资源
    最近更新 更多