1

我正在尝试通过 JQuery UI 加载登录页面。当我调试代码时,发现它被调试到page_load事件并且在运行应用程序后,该页面中的控件没有显示在前端?

在母版页面中,我有一个登录按钮,单击该按钮登录页面需要使用 JQuery UI 加载。

登录页面有以下代码:

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <div id="loginPanel" runat="server">
        <asp:Label ID="lblUsername" runat="server" Text="Username"></asp:Label>
        <asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>
        <asp:Label ID="lblPassword" runat="server" Text="Password"></asp:Label>
        <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        <asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="LoginClick" />
        <asp:Button ID="btnClear" runat="server" Text="Clear" />
        <asp:Label ID="lblErrorMessage" runat="server" Text=""></asp:Label>
    </div>
</asp:Content>

jQuery代码:

$.ajax({
      url: 'Login.aspx',
      success: function (data) {
          $('.result').html(data);
          alert('Load was performed.');
          }
      });

页面控件值正在“数据”中加载,但未显示在首页中。

我需要做什么 ?

4

1 回答 1

0

数据是字符串吗?即它实际上只包含您要加载的html,还是您仍然需要从中获取html 的javascript 对象?

另请记住,您可能会丢失按钮上的回发事件,因此您可能希望将按钮连接到将发布到相关页面的 javascript 函数。

希望有帮助

使用下面的代码示例编辑:注意此解决方案使用 jQuery,但我看到您已经在使用它

首先,您需要一个文件,其中包含您要用于登录的表单(在这种情况下,我在正文中添加了一个 JavascriptPost.aspx,其中包含以下内容

<form id="frmPost" method="post" action="Default.aspx">
    <span>Username</span><input type="text" name="username" />
    <span>Password</span><input type="password" name="password" />
    <button onclick="login();">submit</button>
</form>

然后我添加了带有以下内容的 default.aspx:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="js/jquery-1.7.2.min.js"></script>
    <link href="css/main.css" rel="stylesheet" />
    <script type="text/javascript">
        function loadLogin() {
            $('#loginContainer').load('JavascriptPost.aspx #frmPost');
        };
        function login() {
            $('#frmPost').submit();
        }
    </script>
</head>
<body>
    <div>
        Some really cool stuff about the website
    </div>
    <button onclick="loadLogin()">Login</button>
    <div id="loginContainer"></div>
</body>
</html>

然后最后要访问您的表单参数,您可以使用请求将它们拉出:

if (Request["username"] != null)
{
    string username = Request["username"];
    string password = Request["password"];
}

如果您需要进一步解释,请告诉我

于 2012-08-29T14:22:10.633 回答