ASP.NET LinkButton OnClick-Ereignis Funktioniert Nicht Auf der Startseite
Ich habe ein user-control, mit der die Protokollierung einem Benutzer in meiner Website. Diese Benutzer-Steuerelement platziert ist und in der oberen rechten Ecke von allen Seiten als ein Quick-Login-Box. Das problem das ich habe ist, dass auf meinem produktiven server, der den LinkButton klicken Sie auf Ereignisse, die ich zur Verfügung gestellt haben für die Anmeldung und reset sind nicht feuern, das OnClick-Ereignis nach einem postback. Es ist wie es eben ist, vergisst, es zu tun.
Normalerweise wäre das nicht so ein Problem zu Debuggen, außer dass es nicht passiert, wenn die Ausführung im debug on localhost (noch beim laufen in der Freigabe auf localhost). Es scheint nur auftreten, auf meinem Produktions-server und nur auf meiner Homepage. Wenn ich versuche, das login mit der Benutzer-Steuerung von jeder anderen Seite funktioniert es einwandfrei und das OnClick-Ereignis ausgeführt wird, wie es normalerweise sollte. Ich bin mit meinem Latein am Ende hier, ich weiß einfach nicht mehr Möglichkeiten zum Debuggen von diesem Ding und jeder Vorschlag, den ich gestoßen bin auf Google nicht helfen. Unten ist die markup verwende ich in meinem user-control, Anregungen oder Hilfe wäre sehr geschätzt werden. Der LinkButton ist "Login" und "Zurücksetzen" nicht funktioniert.
<asp:Panel ID="AnonPanel" runat="server" DefaultButton="Login">
<div id="welcome">
<span class="welcome">Welcome </span><span class="guest1">Guest!</span> <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>
- stackoverflow.com/questions/96837/...
- Ja, ich habe versucht, indem die CausesValidation="false" sowohl meine linkbuttons, aber das hat nicht geholfen. Die LinkButtons nicht zu einem postback, aber es scheint nur, als ob Sie das OnClick-Ereignis code nicht ausgeführt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ändern versuchen "Ursachen validation" - Eigenschaft auf "false" und sehen, ob das einen Unterschied macht.
Könnte Sie vorübergehend ausführen, einige Protokollierung von diesen event-Handler?
Könnten Sie schreiben eine
.txt
- Datei auf dem web-server. Oder das Ereignisprotokoll.Als erste Zeile im click-Ereignis, in das Protokoll schreiben. Führen Sie dann die gewünschte Aktion aus (Anmeldung, zurücksetzen) in einen try-catch-block. Sowohl die try-und catch-schreiben Sie das Protokoll erneut. Wenn es einige seltsame Ausnahme geschieht, können Sie erfassen die details in Ihren Fang zu protokollieren.
Wenn Sie möchten, lassen Sie diese temporären code an Ort und Stelle, aber nicht wollen, führen Sie die Protokollierung unnötig, man könnte hinzufügen, ein Umschalten in
<appSettings>
in Ihrer Website.config-Datei, so dass Sie können schalten Sie die Protokollierung ein-und ausschalten.