Avatar billede kkaen Nybegynder
16. marts 2006 - 11:35 Der er 16 kommentarer og
1 løsning

Fejl ved Postback

Egentlig burde det da være let, men nu vil den altså ikke. Jeg har lavet en dropdownlist med nogle elementer i. Når brugeren så har valgt et element, skal en tekstbox udfyldes med det valgte. Men dette sker ikke. Istedet får jeg fejlen:
*******************
Serverfejl.
Ugyldigt tilbagesendelses- eller tilbagekaldsargument.  Hændelsesvalidering er aktiveret ved hjælp af <pages enableEventValidation="true"/> i konfigurationen eller <%@ Page EnableEventValidation="true" %> på en side. Af sikkerhedsmæssige hensyn kontrollerer denne funktion, at argumenter til tilbagesendelses- og tilbagekaldshændelser stammer fra det serverkontrolelement, der oprindelig gengav dem. Hvis dataene er gyldige og forventede, kan du bruge metoden ClientScriptManager.RegisterForEventValidation til at registrere tilbagesendelses- og tilbagekaldsdataene til validering.
Beskrivelse: Der opstod en undtagelse, der ikke blev behandlet, under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.

Detaljer om undtagelse: System.ArgumentException: Ugyldigt tilbagesendelses- eller tilbagekaldsargument.  Hændelsesvalidering er aktiveret ved hjælp af <pages enableEventValidation="true"/> i konfigurationen eller <%@ Page EnableEventValidation="true" %> på en side. Af sikkerhedsmæssige hensyn kontrollerer denne funktion, at argumenter til tilbagesendelses- og tilbagekaldshændelser stammer fra det serverkontrolelement, der oprindelig gengav dem. Hvis dataene er gyldige og forventede, kan du bruge metoden ClientScriptManager.RegisterForEventValidation til at registrere tilbagesendelses- og tilbagekaldsdataene til validering.
*******************
Jeg har sat AutoPOstback=true på dropdownlisten.
Hvad kan der så være galt?
Avatar billede kkaen Nybegynder
16. marts 2006 - 12:38 #1
Jeg har lige lavet en helt ny testside, hvor jeg har implementeret en listbox, en button og en label. Jeg har sat autopastback=true ved listbox'en, og siden fungerer fint. Men når jeg gør det samme ovre på den første side, så ender det med en fejl...???
Avatar billede kkaen Nybegynder
16. marts 2006 - 12:52 #2
Kan det være noget med, at fejlen opstår, fordi jeg bruger masterpage?
Avatar billede kkaen Nybegynder
16. marts 2006 - 12:53 #3
For hvis jeg sletter alt, og kun laver en checkbox, sætter autopostback=true, så opstår fejlen nemlig også...
Avatar billede dr_chaos Nybegynder
16. marts 2006 - 13:44 #4
den fejl kommer typisk når der sendes et script tag til serveren eller begyndelsen af et.
f.eks. en bruger som indsætter <navn> i en tekstboks
hvis validaterequest er true som vil du få den fejl du beskriver.
Avatar billede kkaen Nybegynder
16. marts 2006 - 14:01 #5
Men jeg kan ikke se noget validaterequest nogle steder.
Min kode ser således ud:

<%@ Page Language="C#" MasterPageFile="~/defaultMasterPage.master" AutoEventWireup="true" CodeFile="bla.aspx.cs" Inherits="bla" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <strong><span style="font-size: 18pt"><span style="font-family: Arial"></span></span>
  </strong>
  <form action="../_vti_bin/shtml.dll/Feedback/Feedback.htm" method="post" onsubmit="">

      <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />
  </form>
</asp:Content>
Avatar billede dr_chaos Nybegynder
16. marts 2006 - 14:07 #6
<%@ Page Language="C#" ValidateRequest="true" MasterPageFile="~/defaultMasterPage.master" AutoEventWireup="true" CodeFile="bla.aspx.cs" Inherits="bla" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <strong><span style="font-size: 18pt"><span style="font-family: Arial"></span></span>
  </strong>
  <form action="../_vti_bin/shtml.dll/Feedback/Feedback.htm" method="post" onsubmit="">

      <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />
  </form>
</asp:Content>
Avatar billede kkaen Nybegynder
16. marts 2006 - 16:24 #7
Så skal jeg sætte linien:
ValidateRequest="true"
ind?
Avatar billede dr_chaos Nybegynder
16. marts 2006 - 16:29 #8
nej den skal være false men der kan være store sikkerheds risici ved at gøre det.
På alt det tekst som skal gemmes bør du anvende.
Server.HtmlEncode(textbox.Text);

for at få det ud igen bruger du
textbox.Text = Server.HtmlDecode("dintekst");
Avatar billede snepnet Nybegynder
18. marts 2006 - 14:55 #9
prøv at sæt EnableEventValidation="false" - det er den fejl du får, hvilket virker lidt underligt.
det er en sikring mod at der simuleres en hændelse som ikke er udført.
hvordan har du bygget din side op?
... kan du ikke sende koden?
mvh
Avatar billede kkaen Nybegynder
20. marts 2006 - 09:22 #10
hmm, jeg har lige lavet en ny testside, og der fungerer det, som det skal. Jeg må hellere lige finde den oprindelige side, og sende koden herind, så vi kan finde det oprindelige problem...
Avatar billede kkaen Nybegynder
20. marts 2006 - 10:26 #11
Nu har jeg fundet den oprindelige kode. Jeg kan desværre ikke finde noget sted, hvor EnableEventValidation overhovedet findes...

Her er koden:

<%@ Page Language="C#" MasterPageFile="~/defaultMasterPage.master" AutoEventWireup="true" CodeFile="henvendelse.aspx.cs" Inherits="henvendelse" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <p>
  <p>
  <font face="Arial" size="5"></font></p>
  <form action="../_vti_bin/shtml.dll/Feedback/Feedback.htm" method="post" onsubmit=""
    webbot-action="--WEBBOT-SELF--">
    <!--webbot bot="SaveResults" s-email-format="TEXT/PRE" s-email-address="Formular@f.dk" b-email-label-fields="TRUE" s-builtin-fields u-confirmation-url="Feedback_Bekræft_Tekst.htm" startspan -->
    <!--webbot bot="SaveResults" endspan i-checksum="43374" -->
    <dl>
      <dd>
        <font face="Arial"><b><asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True" >
          <asp:ListItem>a</asp:ListItem>
          <asp:ListItem>b</asp:ListItem>
          <asp:ListItem>c</asp:ListItem>
          <asp:ListItem>d</asp:ListItem>
          <asp:ListItem>e</asp:ListItem>
          <asp:ListItem>f</asp:ListItem>
          <asp:ListItem>g</asp:ListItem>
        </asp:DropDownList>
          <asp:Label ID="Label1" runat="server" Text="Andet:"></asp:Label>
          <asp:TextBox ID="TextBox7" runat="server" Visible="False"></asp:TextBox></b></font>
        <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True">
          <asp:ListItem>z</asp:ListItem>
          <asp:ListItem>lt</asp:ListItem>
        </asp:DropDownList></dd></dl>
    <dl>
      <dd>
        <font face="Arial"><b></b></font>
        <asp:TextBox ID="TextBox1" runat="server" Height="115px" TextMode="MultiLine" Width="390px"></asp:TextBox>
      </dd>
    </dl>
    <p>
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" PostBackUrl="valideret.aspx"
        Text="Send formular" />
      <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Ryd formular" />
    </p>
  </form>
</asp:Content>
Avatar billede snepnet Nybegynder
20. marts 2006 - 10:54 #12
du sætter det i dit pagedirective - altså:

<%@ Page Language="C#" MasterPageFile="~/defaultMasterPage.master" AutoEventWireup="true" CodeFile="henvendelse.aspx.cs" Inherits="henvendelse" Title="Untitled Page" EnableEventValidation="false" %>

mvh
Avatar billede snepnet Nybegynder
20. marts 2006 - 11:02 #13
men du kan også fikse det ved at fjerne formen... det ville jeg nok hellere foreslå.
mvh
Avatar billede kkaen Nybegynder
20. marts 2006 - 11:10 #14
Men jeg troede egentlig, at formen er en kritisk del af denne side? Hvis man ikke har en form, er der så stadig mulighed for f.eks. postback?
Avatar billede snepnet Nybegynder
20. marts 2006 - 11:16 #15
ja bestemt ... din masterpage definerer sådan set en serverside form, så alt hvad du laver på dine contentpages ligger i en sådan.
mvh
Avatar billede kkaen Nybegynder
30. december 2010 - 16:27 #16
sneptnet ->
lægger du lige et svar?
Avatar billede kkaen Nybegynder
07. juni 2012 - 15:39 #17
Lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester