如何让“asp:Button”在“mmenu nav”中工作

时间:2015-07-17 01:31:23

标签: c# .net mmenu

我正在尝试在Visual Studio项目中集成“jquery.mmenu” 似乎“asp:Button”在“mmenu nav”中不起作用 也不是" asp:LinkBut​​ton"似乎完全表现出来 以登录的具体情况为例:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="test._default" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="Scripts/jquery-2.1.4.min.js"></script>
    <script src="Scripts/jquery-ui-1.11.4.min.js"></script>
    <script src="Scripts/jquery.mmenu.min.all.js"></script>
    <link href="Content/themes/base/all.css" rel="stylesheet" />
    <link href="Content/themes/base/jquery.mmenu.all.css" rel="stylesheet" />
    <title></title>
    <script>
        $(document).ready(function () {
            $("#login").mmenu({
            });
        });
    </script>
</head>
<body>
    <div>
        <form id="form1" runat="server">
            <a href="#login">Open login pannel</a><br />
            <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="Redirect" LoginText="login" LogoutText="logout" LogoutPageUrl="~/" /><br />

            <nav id="login">
                <div>
                    <asp:Label ID="UserNameLabel" runat="server">User:</asp:Label><br />
                    <asp:TextBox ID="UserNameTextBox" runat="server"></asp:TextBox><br />
                    <asp:Label ID="PasswordLabel" runat="server">Password:</asp:Label><br />
                    <asp:TextBox ID="PasswordTextBox" runat="server" TextMode="Password"></asp:TextBox><br />
                    <asp:Button ID="LoginButton" runat="server" ClientIDMode="Static" Text="Login Button" OnClick="LoginButton_Click" /><br />
                    <asp:LinkButton ID="LoginLinkButton" runat="server"  ClientIDMode="Static" OnClick="LoginLinkButton_Click">Login LinkButton</asp:LinkButton>
                </div>
            </nav>
        </form>
    </div>
</body>
</html>


背后的代码如下:

using System;
using System.Web.Security;

namespace test
{
    public partial class _default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void LoginButton_Click(object sender, EventArgs e)
        {
            if (Membership.ValidateUser(UserNameTextBox.Text, PasswordTextBox.Text))
            {
                FormsAuthentication.RedirectFromLoginPage(UserNameTextBox.Text, false);
            }
        }

        protected void LoginLinkButton_Click(object sender, EventArgs e)
        {
            if (Membership.ValidateUser(UserNameTextBox.Text, PasswordTextBox.Text))
            {
                FormsAuthentication.RedirectFromLoginPage(UserNameTextBox.Text, false);
            }
        }
    }
}

asp:Button不回发。
asp:LinkBut​​ton没有登录 有没有办法使它工作?
感谢。

2 个答案:

答案 0 :(得分:0)

Web表单大部分时间都会更改元素的名称,而jquery需要确切的名称才能找到您的按钮。将此属性添加到按钮并再次测试

的ClientIDMode = “静态”

答案 1 :(得分:0)

mmenu插件从HTML中抓取NAV#login并将其直接放回BODY内。意思是,输入和按钮不再在FORM中(因此不会提交表单)。

基本上,如果你把FORM放在NAV#login中,所有这些都应该按预期工作。