ASP.NET LinkBut​​ton OnClick事件在主页上不起作用

时间:2009-12-23 15:31:05

标签: asp.net-3.5 onclick linkbutton

我有一个用户控件,用于处理将用户登录到我的站点。此用户控件作为快速登录框放置在所有页面的右上角。我遇到的问题是,在我的生产服务器上,我提供的用于登录和重置的LinkBut​​ton点击事件在回发后没有触发OnClick事件。就像忘记这样做一样。

通常这不是调试的问题,除了在localhost上运行调试时不会发生(在localhost上运行时也不会发生)。它似乎只出现在我的生产服务器上,而且只出现在我的主页上。如果我尝试从任何其他页面使用用户控件登录它工作正常,OnClick事件正常运行。因为我只是不知道调试这个东西的方法而且我在Google上遇到的每一个建议都无济于事。下面是我在用户控件中使用的标记,任何建议或帮助将不胜感激。 LinkBut​​ton的“登录”和“重置”根本不起作用。

<asp:Panel ID="AnonPanel" runat="server" DefaultButton="Login">
<div id="welcome">
    <span class="welcome">Welcome </span><span class="guest1">Guest!</span>&nbsp; <span><a href="/login.html" class="guest">Login </a></span>|<span ><a href="/new-account-registration.html" class="guest"> Signup</a></span>
</div>
<div id="input_boxarea">
    <div id="user_id">
        <asp:TextBox ID="UserName" runat="server" CssClass="input_box1"></asp:TextBox>
    </div>
    <div id="password">
        <asp:TextBox ID="Password" runat="server" TextMode="Password" CssClass="input_box1" size="16"></asp:TextBox>
    </div>
</div>
<div id="remember">
    <div id="reme">
        <div id="reme1">
            <asp:CheckBox ID="RememberMe" runat="server" />
        </div>
        <div id="reme2">Remember me</div>
    </div>
    <div id="loginbutton1"><span class="login"><asp:LinkButton ID="Login" 
            runat="server" CommandName="Login" onclick="Login_Click">Login</asp:LinkButton></span></div>
    <div id="resetbutton1"><span class="login"><asp:LinkButton ID="Reset" 
            runat="server" onclick="Reset_Click">Reset</asp:LinkButton></span></div>
 </div>

<asp:Panel ID="AdminPanel" runat="server" Visible="false">
<div id="welcome_loggedin">
    <span class="welcome">Welcome </span><span class="guest1"><asp:LoginName ID="LoginName1" runat="server" />!</span><br />
    <asp:HyperLink ID="MyAccountLink" CssClass="memberLink" runat="server" NavigateUrl="/my-account.html">My Account</asp:HyperLink><br />
    <asp:HyperLink ID="MyLeaguesLink" CssClass="memberLink" runat="server" NavigateUrl="/my-leagues.html">My Leagues</asp:HyperLink><br />
    <asp:HyperLink ID="AdminLink" CssClass="memberLink" runat="server" NavigateUrl="/admin/">Admin Area</asp:HyperLink><br />
    <asp:HyperLink ID="IssueTrackerLink" CssClass="memberLink" runat="server" Target="_blank">Issue Tracker</asp:HyperLink><br />
    <asp:HyperLink ID="Logout" CssClass="memberLink" runat="server" NavigateUrl="/logout.html">Logout</asp:HyperLink>
</div>

<asp:Panel ID="UserPanel" runat="server" Visible="false">
<div id="welcome_loggedin">
    <span class="welcome">Welcome </span><span class="guest1"><asp:LoginName ID="LoginName2" runat="server" />!</span><br />
    <asp:HyperLink ID="HyperLink1" CssClass="memberLink" runat="server" NavigateUrl="/my-account.html">My Account</asp:HyperLink><br />
    <asp:HyperLink ID="HyperLink2" CssClass="memberLink" runat="server" NavigateUrl="/my-leagues.html">My Leagues</asp:HyperLink><br />
    <asp:HyperLink ID="HyperLink3" CssClass="memberLink" runat="server" NavigateUrl="/logout.html">Logout</asp:HyperLink>
</div></asp:Panel>

2 个答案:

答案 0 :(得分:2)

尝试将“cause validation”属性更改为false,看看是否会产生影响。

答案 1 :(得分:0)

您可以暂时从这些事件处理程序执行一些日志记录吗?

您可以写入Web服务器上的.txt文件。或者到事件日志。

作为click事件的第一行,写入日志。然后,在try-catch块中执行所需的操作(登录,重置)。 try和catch都会再次写入日志。如果发生了一些奇怪的异常,您可以捕获catch记录中的详细信息。

如果您想保留此临时代码,但又不想执行不必要的日志记录,则可以在web.config文件的<appSettings>中添加一个切换,以便您可以启用日志记录然后关闭。

相关问题