Får detta ofta när jag testar .net Som det låter som är det alltså viewstate som försöker lagra undan information om en kontroll och vid base-64 konverteringen (som viewstate är) så misslyckas den av någon anledning. Är det bara en viss sida detta gäller? Vad har du för kontroller på sidan och kan du stänga av viewstate på page-nivå och testa igen för att se om felet försvinner? Problemet har jag fått hela tiden på olika sidor. Hela koden jag kör ser du i mitt inlägg.Ogiltigt tecken i en Base-64-sträng.
Koden:
<%@ Page Language="VB" %>
<script runat="server">
sub Button_Click(obj AS Object, e As EventArgs)
response.write (obj.Text)
end sub
</script>
<html><body>
<center>
<form runat="server">
<asp:button id="btSubmit" Text="Skicka" runat="server" OnClick="Button_Click" />
</form>
</body></html>
Felmeddelandet:
Serverfel i tillämpningsprogrammet /.
--------------------------------------------------------------------------------
Ogiltigt tecken i en Base-64-sträng.
Beskrivning: Ett undantag som inte kunde hanteras inträffade när den aktuella webbegäran kördes. Mer information om felet och var i koden det uppstod finns i stackspårningen.
Undantagsinformation: System.FormatException: Ogiltigt tecken i en Base-64-sträng.
Källfel:
Ett undantag som inte hanteras genererades vid körningen av den aktuella webbegäran. Information om undantagets ursprung och plats kan identifieras med undantagsstackspårningen nedan.
Stackspårning:
[FormatException: Ogiltigt tecken i en Base-64-sträng.]
System.Convert.FromBase64String(String s) +0
System.Web.UI.LosFormatter.Deserialize(String input) +25
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101
[HttpException (0x80004005): Invalid_Viewstate
Client IP: 192.168.0.35
Port: 1593
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
ViewState: dDw5NjU1MTU1Ozs??????????=
Http-Referer: http://sara/aspnet3veckor/default.aspx
Path: /aspnet3veckor/default.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +447
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +447
--------------------------------------------------------------------------------
Versionsinformation: Microsoft .NET Framework-version:1.1.4322.2032; ASP.NET-version:1.1.4322.2032
Sv: Ogiltigt tecken i en Base-64-sträng.
Sv:Ogiltigt tecken i en Base-64-sträng - Löst
Men det löste sig på följande sätt.
1. Jag ändrade i IIS att den mappen jag kör skall vara en egen webbplats.
2. Jag la dit filen web.config från ett annan sida i samma mapp som aspx-sidan.
Vilken inställning i config-filen som fixade detta vet jag inte. Det kanske räckte med att bara lägga dit en sådan.
Klokare blev jag inte men nu funkar det!