Laden...

Invalid postback or callback argument

Erstellt von w1z4rd vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.838 Views
W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren
Invalid postback or callback argument

hallo zusammen

ich in asp eine maske erstellt, in dieser maske sind 3 checkboxen und textboxen!
im anhang ist ein jpg der maske!

jetzt habe ich folgendes problem! beim laden wird ja die seite vom server gereenderet! wenn ich jetzt die erste checkbox anklicke und danach den button search betätige wird der codebehind (C#) ausgeführt, da beim reenderen der seite vom server die auswahl default auf der ersten checkbox ist!

wenn ich aber die zweite oder die dritte checkbox auswähle und danach den button serach klicke bekomme ich folgende meldung:

Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

ich könnte mir vorstellen das es daran liegt das der server die seite bekommt und danach merkt das diese nicht gleich ist wie die, die er am anfang gereenderet hat!

hoffe jemand kann mir helfen

mfg w1z4rd

1.130 Beiträge seit 2005
vor 17 Jahren

Hallo w1z4rd,

zufällig habe ich diese Meldung gestern auch zum ersten Mal gesehen. Der Fehler bei mir war ein zweites Formular, welches sich eingeschlichen hatte 🙂

Ansonsten hast Du ja die Möglichkeit die Überprüfung zu deaktivieren.

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Hallo .Kai
Danke für die schnelle Antwort 🙂

die überprüfung deaktiviert man ja so oder? in meinen web.config file sehe ich aber niergend enableEventValidation

<pages enableEventValidation="false" />
X
1.177 Beiträge seit 2006
vor 17 Jahren

Hoi zusammen,

es geht nicht um die Event-Validation, sondern um den Inhalt des Formulares.

For security purposes

jo, die Fehlermeldung deutet darauf hin, dass mehrere "Form" Tags vorhanden sind, genaudass wird hier überprüft. Zusätzlich gibt es einen ähnlichen Fehler, wenn IIS/ASP eine Cross-Site-Attak vermutet (z.B. >< Zeichen in einem Formularfeld ...)

;.)

cu Xynratron

PS: Auch Forms die lokal gehen, können auf dem Server Probleme machen...

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

X
1.177 Beiträge seit 2006
vor 17 Jahren

PS

<%@ Page EnableEventValidation="true" %>

bedeutet: in deiner SEITE deaktivieren. Global ist echt nicht gut ...

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Xynratron
es geht nicht um die Event-Validation, sondern um den Inhalt des Formulares.

Eigentlich geht es doch um den Event. Die Überprüfung schaut ob der Event von dem Control ausgelöst wird, welches den Event auch gerendert hat.

Zusätzlich gibt es einen ähnlichen Fehler, wenn IIS/ASP eine Cross-Site-Attak vermutet (z.B. >< Zeichen in einem Formularfeld ...)

Genau, die Fehlermeldung lautet dann:

A potentially dangerous Request.Form value was detected from the client

Global ist echt nicht gut ..

Sehr ich auch so.

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Zusätzlich gibt es einen ähnlichen Fehler, wenn IIS/ASP eine Cross-Site-Attak vermutet (z.B. >< Zeichen in einem Formularfeld ...)

also in meiner aspx site hab ich nur ein <form> und </form>. wie soll ich vorgehen für dieses problem zu lösen? weiss wirklich nicht mehr weiter 🤔

1.130 Beiträge seit 2005
vor 17 Jahren

Hallo w1z4rd,

Original von w1z4rd

also in meiner aspx site hab ich nur ein <form> und </form>. wie soll ich vorgehen für dieses problem zu lösen? weiss wirklich nicht mehr weiter 🤔

hatte Xynratron bereits geschrieben. Einfach im Kopf der Seite den Parameter EnableEventValidation einfügen:

<%@ Page EnableEventValidation="true" %>

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

habe ich gemacht aber bekomme trotzdem die fehlermeldung!

wenn ich der erste radiobutton auswähle und irgendeine strasse schreibe und search klicke funktioniert es! sobald ich aber den zweiten oder der dritte radiobutton klicke geht es nicht! 🙁

1.130 Beiträge seit 2005
vor 17 Jahren

Dann zeigt doch mal den Code der Seite, so daß ich den Fehler mal auf meinem Rechner nachvollziehen kann.

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Hi .Kai
Also da ist der code...

Searchbutton

<td style="height: 23px; width: 104px;"><asp:linkbutton id="btnSearch" accessKey="S" tabIndex="6" runat="server" CssClass="xpbutton_100" Enabled="True" onclick="OnButtonSearch">Search</asp:linkbutton></td>

OnButtonSearch Methode die beim klicken auf search ausgeführt wird! leider nur wenn der erste radiobutton ausgewählt wird! bei den restlichen zwei erscheint die fehlermeldung.

protected void OnButtonSearch(object sender, System.EventArgs e)
		{
			TxbDetail.Text = "";
			if (RB1.Checked || RB2.Checked) 
			{
				SearchGeopost(sender, e);
			}
			else if (RB3.Checked) 
			{
				NavigateTo();
			}
		}

aber nur wenn ich der erste radiobutton klicke! bei den anderen zwei bekomme ich die fehlermeldung!

<%@ Register TagPrefix="igtbl" Namespace="Infragistics.WebUI.UltraWebGrid" Assembly="Infragistics2.WebUI.UltraWebGrid.v6.2, Version=6.2.20062.34, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" %>
<%@ Page language="c#" AutoEventWireup="true" Inherits="Com.Csc.Mds.Webgis.Geopost.MdsGeopostSearchNeu" CodeFile="MdsGeopostSearchNeu.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.0 transitional//EN" >
<HTML>
	<HEAD>
		<title>MdsGeopostSearch</title>
		<meta content="False" name="vs_snapToGrid">
		<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<LINK href="../Core/mds_webgis.css" type="text/css" rel="stylesheet">
		<script language="javascript" src="MdsGeopost.js" type="text/javascript"></script>
	</HEAD>
	<body class="infopanel" onload="top.registerInfoFrame(this);" XMLNS:igtbl="http://schemas.infragistics.com/ASPNET/WebControls/UltraWebGrid">
		<form id="Form1" method="post" runat="server">
			<table id="Table1" width="372">
				<tr>
					<!--- Infopanel Titel ---->
					<td class="infopaneltitlepanel" vAlign="top" style="width: 100%"><table id="Table2" height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
							<tr>
								<td class="infopaneltitle" align="left">SEARCH LOCATION</td>
								<td align="right"><IMG src="../core/images/ch.png" align="absMiddle"></td>
							</tr>
						</table>
					</td>
				</tr>
				<tr>
					<!--- Contentpanel 1 ---->
					<td class="infopanelcontent" vAlign="top" style="width: 100%">
						<table class="contentbox" id="Table3" cellSpacing="0" cellPadding="0" width="100%" border="0">
							<colgroup>
								<col align="left" width="10">
								<col align="left" width="50">
								<col align="left" width="121">
								<col align="left" width="175">
							</colgroup>
							<tr>
								<td colSpan="3"><asp:radiobutton id="RB1" AutoPostBack="false" GroupName="RadioGroup" Runat="server" Text="Postal Address"></asp:radiobutton></td>
							</tr>
							<tr>
								<td></td>
								<td>Street:</td>
								<td style="WIDTH: 218px" colSpan="2"><asp:textbox id="TxbStreet" tabIndex="1" runat="server" AutoPostBack="False" Width="110px" MaxLength="50"
										CssClass="MdsWebGisTextbox"></asp:textbox>
									<asp:regularexpressionvalidator id="Regularexpressionvalidator2" Runat="server" CssClass="errorMsg" ControlToValidate="TxbStreet"
										ErrorMessage="Error in Field Street." ValidationExpression="[^*][\w\W]{0,100}[*|.]{0,1}">*</asp:regularexpressionvalidator>
									&nbsp;&nbsp;Nr:&nbsp;
									<asp:textbox id="TxbNr" tabIndex="2" runat="server" AutoPostBack="False" Width="30px" MaxLength="10"
										CssClass="MdsWebGisTextbox"></asp:textbox><asp:regularexpressionvalidator id="Regularexpressionvalidator5" Runat="server" CssClass="errorMsg" ControlToValidate="TxbNr"
										ErrorMessage="Error in Field Nr" ValidationExpression="[^*][\w\W]{0,100}[*|.]{0,1}">*</asp:regularexpressionvalidator>
								</td>
							</tr>
							<tr>
								<td></td>
								<td>ZIP / City:</td>
								<td style="WIDTH: 218px" colSpan="2"><asp:textbox id="TxbPostCode" tabIndex="3" runat="server" AutoPostBack="False" Width="40px" MaxLength="4"
										CssClass="MdsWebGisTextbox"></asp:textbox><asp:regularexpressionvalidator id="RegularExpressionValidator1" Runat="server" CssClass="errorMsg" ControlToValidate="TxbPostCode"
										ErrorMessage="ZIP: only numeric values and the characters '*' and '.' are allowed." ValidationExpression="[1-9]{1}[0-9]{0,3}[*|.]{0,1}">*</asp:regularexpressionvalidator>&nbsp;
									<asp:textbox id="TxbCity" tabIndex="4" runat="server" AutoPostBack="False" Width="144px" MaxLength="50"
										CssClass="MdsWebGisTextbox"></asp:textbox>
									<asp:regularexpressionvalidator id="Regularexpressionvalidator3" Runat="server" CssClass="errorMsg" ControlToValidate="TxbCity"
										ErrorMessage="Error in Field City" ValidationExpression="[^*][\w\W]{0,100}[*|.]{0,1}">*</asp:regularexpressionvalidator>
								</td>
							</tr>
							<tr>
								<td></td>
								<td>Canton:</td>
								<td><asp:textbox id="TxbCanton" tabIndex="5" runat="server" AutoPostBack="False" Width="30px" MaxLength="2"
										CssClass="MdsWebGisTextbox"></asp:textbox><asp:regularexpressionvalidator id="Regularexpressionvalidator4" Runat="server" CssClass="errorMsg" ControlToValidate="TxbCanton"
										ErrorMessage="Error in Field Canton" ValidationExpression="[^*][A-Za-z]{0,2}[*|.]{0,1}">*</asp:regularexpressionvalidator>
									<asp:checkbox id="ChkCommunity" runat="server" Text="Community"></asp:checkbox></td>
								<td rowSpan="4">
									<asp:ValidationSummary id="ValidationSummary1" runat="server"></asp:ValidationSummary><br>
								</td>
							</tr>
							<tr>
								<td style="HEIGHT: 25px" colSpan="3"><asp:radiobutton id="RB2" AutoPostBack="false" GroupName="RadioGroup" Runat="server" Text="Geographical Site" ></asp:radiobutton></td>
							</tr>
							<tr>
								<td></td>
								<td>Location:</td>
								<td><asp:textbox id="TxbLocation" tabIndex="5" runat="server" AutoPostBack="False" Width="110px"
										MaxLength="50" CssClass="MdsWebGisTextbox"></asp:textbox>
									<asp:regularexpressionvalidator id="RegularexpressionvalidatorTxbLocation" Runat="server" CssClass="errorMsg" ControlToValidate="TxbLocation"
										ErrorMessage="Error in Field Location" ValidationExpression="[^*][\w\W]{0,100}[*|.]{0,1}">*</asp:regularexpressionvalidator></td>
							</tr>
							<tr>
								<td></td>
								<td>Canton:</td>
								<td><asp:textbox id="TxbCanton2" tabIndex="5" runat="server" AutoPostBack="False" Width="30px" MaxLength="2"
										CssClass="MdsWebGisTextbox"></asp:textbox><asp:regularexpressionvalidator id="RegularexpressionvalidatorTxbCanton2" Runat="server" CssClass="errorMsg" ControlToValidate="TxbCanton2"
										ErrorMessage="Error in Field Canton" ValidationExpression="[^*][A-Za-z]{0,2}[*|.]{0,1}">*</asp:regularexpressionvalidator></td>
							</tr>
							<tr>
								<td colSpan="5"><asp:radiobutton id="RB3" AutoPostBack="false" GroupName="RadioGroup" Runat="server" Text="Find Coordinate&nbsp;&nbsp;&nbsp;&nbsp;" ></asp:radiobutton>
									X:<asp:textbox id="TxbCoordX" tabIndex="5" runat="server" AutoPostBack="False" Width="55px" MaxLength="10"
										CssClass="MdsWebGisTextbox"></asp:textbox>
									<asp:regularexpressionvalidator id="RegularexpressionvalidatorTxbX" Runat="server" CssClass="errorMsg" ControlToValidate="TxbCoordX"
										ErrorMessage="Only numbers are allowed in coordinate field X." ValidationExpression="[0-9]{0,10}">*</asp:regularexpressionvalidator>
									Y:<asp:textbox id="TxbCoordY" tabIndex="5" runat="server" AutoPostBack="False" Width="55px" MaxLength="10"
										CssClass="MdsWebGisTextbox"></asp:textbox>
									<asp:regularexpressionvalidator id="RegularexpressionvalidatorTxbY" Runat="server" CssClass="errorMsg" ControlToValidate="TxbCoordY"
										ErrorMessage="Only numbers are allowed in coordinate field Y." ValidationExpression="[0-9]{0,10}">*</asp:regularexpressionvalidator>
								</td>
							</tr>
						</table>
					</td>
				</tr>
				<tr>
					<!--- Navigation1 ---->
					<td vAlign="top" height="*" style="width: 100%">
						<table id="Table5" height="*" cellSpacing="0" cellPadding="0" width="100%" border="0">
							<TBODY>
								<tr>
									<td style="height: 23px; width: 104px;"><asp:linkbutton id="btnSearch" accessKey="S" tabIndex="6" runat="server" CssClass="xpbutton_100"
											Enabled="True" onclick="OnButtonSearch">Search</asp:linkbutton></td>
									<td style="height: 23px"><asp:linkbutton id="btnReset" accessKey="R" tabIndex="7" runat="server" CssClass="xpbutton_100"
											Enabled="True">Reset</asp:linkbutton></td>
									<td style="height: 23px"><asp:linkbutton id="btnClose" accessKey="C" tabIndex="8" runat="server" CssClass="xpbutton_100"
											Enabled="True">Close</asp:linkbutton></td>
								</tr>
								<tr>
									<td style="width: 104px">Label:</td>
									<td colSpan="2" rowSpan="2"><asp:textbox id="TxbDetail" tabIndex="5" runat="server" AutoPostBack="False" Width="250px" CssClass="MdsWebGisTextbox"
											Height="50px" Rows="4" TextMode="MultiLine"></asp:textbox></td>
								</tr>
								<tr>
									<td style="width: 104px"><asp:dropdownlist id="Label" Runat="server" Width="100" OnSelectedIndexChanged="Label_SelectedIndexChanged"></asp:dropdownlist></td>
								</tr>
							</TBODY>
						</table>
					</td>
				</tr>
				<tr>
					<!--- Contentpanel 2 ---->
					<td class="infopanelcontent" vAlign="top" style="width: 100%">
						<table class="contentbox" id="Table4" cellSpacing="0" cellPadding="0" width="100%" border="0">
							<colgroup>
								<col align="left">
							</colgroup>
							<tr>
								<td><igtbl:ultrawebgrid id=UltraWebGrid1 runat="server" Width="355px" Height="232px" DataSource="<%# dataSet1 %>" onprerender="OnPreRender" ondatabinding="OnDataBinding">
										<DisplayLayout JavaScriptFileName="~/Infragistics/ig_common/Scripts/ig_WebGrid.js" JavaScriptFileNameCommon="~/Infragistics/ig_common/Scripts/ig_csom.js"
											RowHeightDefault="20px" Version="4.00" SelectTypeRowDefault="Single" BorderCollapseDefault="Separate"
											EnableInternalRowsManagement="True" RowSelectorsDefault="No" Name="UltraWebGrid1" CellClickActionDefault="RowSelect">
											<AddNewBox>
											</AddNewBox>
											<Pager PageSize="12" AllowPaging="True">
											</Pager>
											<HeaderStyleDefault BorderStyle="Solid" BackColor="LightGray">
												<BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White"></BorderDetails>
											</HeaderStyleDefault>
											<FrameStyle Width="355px" BorderWidth="1px" Font-Size="8pt" Font-Names="Verdana" BorderStyle="Solid"
												Height="232px"></FrameStyle>
											<FooterStyleDefault BorderWidth="1px" BorderStyle="Solid" BackColor="LightGray">
												<BorderDetails ColorTop="White" WidthLeft="1px" WidthTop="1px" ColorLeft="White"></BorderDetails>
											</FooterStyleDefault>
											<EditCellStyleDefault BorderWidth="0px" BorderStyle="None"></EditCellStyleDefault>
											<SelectedRowStyleDefault TextOverflow="Ellipsis"></SelectedRowStyleDefault>
											<RowStyleDefault BorderWidth="1px" BorderColor="Gray" BorderStyle="Solid">
												<Padding Left="3px"></Padding>
												<BorderDetails WidthLeft="0px" WidthTop="0px"></BorderDetails>
											</RowStyleDefault>
										</DisplayLayout>
										<Bands>
											<igtbl:UltraGridBand></igtbl:UltraGridBand>
										</Bands>
									</igtbl:ultrawebgrid><br>
								</td>
							</tr>
							<tr>
								<td><asp:label id="LabelMsg" runat="server" Width="320px" Visible="False">Label</asp:label></td>
							</tr>
						</table>
					</td>
				</tr>
				<tr>
					<!--- Navigation2 ---->
					<td vAlign="top" height="*" style="width: 100%">
						<table id="Table6" height="*" cellSpacing="0" cellPadding="0" width="100%" border="0">
							<tr>
								<td><asp:linkbutton id="btnNavigateTo" accessKey="N" tabIndex="10" runat="server" CssClass="xpbutton_100"
										Enabled="True">Navigate To</asp:linkbutton></td>
							</tr>
						</table>
					</td>
				</tr>
			</table>
		</form>
	</body>
</HTML>

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

hab die lösung gefunden! es funktioniert jetzt 😉

1.130 Beiträge seit 2005
vor 17 Jahren

Original von w1z4rd
hab die lösung gefunden! es funktioniert jetzt 😉

ahh, ich wollte dir gestern Abend noch schreiben das ich keinen Fehler feststellen kann und das Formular bei mir ohne Probleme funktioniert.

Woran lag es denn?

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

hi .Kai also ich hab in der zeile 2 das AutoEventWireup="true" herausgenommen. kompiliert, danach wieder eingebaut und wieder kompiliert und danach funktionierte es 🙂

habe jetzt aber ein anderes problem! im anhang siehst du das formular das ich benutze! wenn ich z.B Bern eingeben und Kanton BE erscheinen mir die datensätze die unten im ultrawebgrid sichtbar sind! das problem ist das wenn ich z.B 4 selektiere und danach die maustaste loslasse ein PostBack gemacht wird und somit die seite wieder geladen wird! dieses postback brauche ich nicht!

hab mal das zeug debuggt und beim loslassen der maustaste geht der debugger in folgendem code hinein.

protected void OnPreRender(object sender, System.EventArgs e)
		{
			UltraWebGrid1.DisplayLayout.Pager.CustomLabels = (ArrayList) ViewState["PagingLabels"];
			UltraWebGrid1.DisplayLayout.Pager.CurrentPageIndex = 1;
            UltraWebGrid1.DisplayLayout.Pager.PageCount = 5; //  "2/3, First, Next, Prev, Last"
		}

in javascript kann man das postback verhindern indem man einfach am schluss return true eintippt! aber irgendwie geht das hier nicht! hast du eine idee?

mfg
w1z4rd

1.130 Beiträge seit 2005
vor 17 Jahren

Original von w1z4rd
in javascript kann man das postback verhindern indem man einfach am schluss return true eintippt! aber irgendwie geht das hier nicht! hast du eine idee?

Du meinst return false? Nur ein return false bricht die Verarbeitung ab.

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

ehmmm ja sorry return false! aber das geht eben in javascript! in c# weiss ich nicht wie ich ein postback verhindern kann!

1.130 Beiträge seit 2005
vor 17 Jahren

Nur das ich es richtig verstehe: Du selektiert eine Zeile im ultrawebgrid und dies löst dann das PostBack aus?

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

genau! also es spielt keine rolle ob ich eine oder mehrere zelle selektiere! es wird danach einfach ein postback ausgelöst!

1.130 Beiträge seit 2005
vor 17 Jahren

Gibt es keine Möglichkeit das über die Eigenschaften des Controls zu deaktivieren?

Ansonsten bleibt dir nur die Alternative die Zeilen selbstständig mit dem return false zu versehen. Leider kenn ich das Control nicht und kann deshalb nicht sagen ob das grundsätzlich möglich ist 🙂

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

danke für die schnellen antworten 🙂
über die eigenschaften des controls hab ich leider keine möglichkeit das postback zu deaktivieren! wie meinst du die zeilen selbständig mit dem return false zu versehen?

1.130 Beiträge seit 2005
vor 17 Jahren

Beim Repeater (oder GridView) habe ich die Möglichkeit nach dem Bind durch die Items zu iterieren.

Beispiel Repeater:


for(i = 0; i < rep.Items.Count; i++)
{
    //mach was
}

Ich denke aber das dieses bei deinem Control nicht möglich ist. Ansonsten hilft wohl nur eine Blick in die Hilfe des Controls.

W
w1z4rd Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

muss mal nachschauen! habe zwar nichts gefunden das mir wirklich weiterhilft aber danke für deine Hilfe! 🙂

hoffe ich finde etwas...