2

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

通常这不会是一个调试问题,除了在 localhost 上的调试中运行时(也不是在 localhost 上的发行版中运行时)不会发生。它似乎只发生在我的生产服务器上,并且只发生在我的主页上。如果我尝试使用来自任何其他页面的用户控件登录,它工作正常并且 OnClick 事件正常运行。我在这里束手无策,因为我只是不知道调试这个东西的方法,而且我在谷歌上遇到的每一个建议都没有帮助。以下是我在用户控件中使用的标记,任何建议或帮助将不胜感激。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>
4

2 回答 2

2

尝试将“原因验证”属性更改为 false 并查看是否有所作为。

于 2009-12-23T16:03:56.340 回答
0

你能暂时从那些事件处理程序中执行一些日志记录吗?

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

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

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

于 2009-12-23T15:46:08.270 回答