Ich habe hier ein interessantes Viewstate-Problem, das Probleme beim Ausbügeln hat. Zugegeben, ich bin kein Experte im Umgang mit dem Viewstate, es ist wahrscheinlich eines der verwirrendsten Dinge über .NEt, aber das ist weder hier noch dort. Hier ist der Fehler, den ich bekomme.Fehler beim Laden von Viewstate
Ladezustand konnte nicht geladen werden. Der Kontrollbaum, in den der Viewstate geladen wird, muss mit dem Kontrollbaum übereinstimmen, der beim Speichern der Viewstate während der vorherigen Anfrage verwendet wurde.
Was ist seltsam daran ist, dass es nur auf der Homepage der Website passiert (Code befindet sich in Fußzeile der Masterseite). Jede andere Seite auf der Website funktioniert gut. Hier ist der ASPX-Code. Beachten Sie, dass sich dies in der Fußzeile der Master-Datei befindet.
<asp:UpdatePanel ID="upEmail" runat="server" >
<ContentTemplate>
<asp:MultiView ID="mview" runat="Server" ActiveViewIndex="0">
<asp:View ID="viewInput" runat="Server">
<div>
<asp:Panel ID="pnlEmail" runat="server" DefaultButton="btnSubscribe" Width="100%" EnableViewState="False">
<asp:TextBox ID="tbEmail" runat="server" Width="125px" CssClass="someClass" title="Enter Your Email Address" />
<ajaxToolkit:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" TargetControlID="tbEmail" WatermarkText="Email Address" runat="server" />
<asp:RequiredFieldValidator ID="rfEmail" runat="Server" ControlToValidate="tbEmail" ValidationGroup="submit">*</asp:RequiredFieldValidator>
<asp:ImageButton ID="btnSubscribe" ImageUrl="/Images/social/signup.gif" Imagealign="absmiddle" runat="server" OnClick="BtnSubscribe_Clicked" ValidationGroup="submit" />
<br />
<asp:RegularExpressionValidator ID="regEmail" runat="server" ControlToValidate="tbEmail" ErrorMessage="Please enter a valid email." ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="submit" Display="dynamic" ForeColor="" CssClass="error_font_no_hover" />
</asp:Panel>
</div>
<div>
<asp:Label ID="lblMessage" runat="server" Visible="false" />
</div>
</asp:View>
<asp:View ID="viewSuccess" runat="server">
Thank You! You will now
<br />
receive e-mails!
</asp:View>
</asp:MultiView>
</ContentTemplate>
</asp:UpdatePanel>
Ich habe versucht, das Viewstate auf dem Panel zu deaktivieren, und der Fehler tritt immer noch auf. Kann mir jemand sagen, was vor sich geht?
Vielen Dank im Voraus
Haben Sie einen Code in der Codebehind-Datei? Wenn Sie das tun, können Sie es bitte posten. –
Fügen Sie Steuerelemente im Code dynamisch hinzu? –
Ändern Sie die Steuerelementauflistung in beliebigen Seitenereignissen (Page_Load vielleicht), d. H. Hinzufügen oder Entfernen von Steuerelementen auf dieser Seite? – jball