PDA

View Full Version : مشکل با enableEventValidation="true"



مهدی رحیم زاده
شنبه 01 خرداد 1389, 10:14 صبح
سلام
من هر کاری می کنم برنامه بازم این پیغام رو میده . اونو هم توی صفحه True کردم هم توی Web.Config
دیگه نمی دونم باید چکار کنم . میشه راهنماییم کمید؟
با تشکر


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.

Behrouz_Rad
شنبه 01 خرداد 1389, 12:06 عصر
برادر باید False کنی!

پ.ن: برادر موسوی قبلاً توضیح جامعی در مورد این خطا داده بودن.

مهدی رحیم زاده
شنبه 01 خرداد 1389, 13:24 عصر
برادر باید False کنی!

پ.ن: برادر موسوی قبلاً توضیح جامعی در مورد این خطا داده بودن.
من اونو خوندم
اونجا نوشته بود باید True کنم ، منم True کردم . توی اون یکی کارم درست جواب داد!
ممنون ؛، اینم تست کنم ببینم درست میشه؟

مهدی رحیم زاده
شنبه 01 خرداد 1389, 13:49 عصر
با False کردنش درست شد ، دیگه اون پیغام رو نمیده اما RowCommand مربوط به GridView دیگه اجرا نیمشه!
دلیل این یکی چیه ؟

Behrouz_Rad
شنبه 01 خرداد 1389, 14:07 عصر
با False کردنش درست شد ، دیگه اون پیغام رو نمیده اما RowCommand مربوط به GridView دیگه اجرا نیمشه!
دلیل این یکی چیه ؟
کدهات رو قرار بده. Code Behind و aspx

مهدی رحیم زاده
شنبه 01 خرداد 1389, 17:48 عصر
سلام
یک سری داده دارم که توی یک DataTable قراردادرن و بعد اونا رو توی یک GridView نشون میدم :

SrchDa.Fill(SrchDT);
GridView1.DataSourceID = null;
GridView1.DataSource = SrchDT;
GridView1.DataBind();
بعد توی GridView تو تا دکمه دارم یکی برای حذف و یکی برای ویرایش . با زدن هرکدومشون با یک سری پارامتر ره صفحه سومی هدایت میشیم که توش میشه داده ها رو ویرایش یا حذف کرد :

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit_")
{
Response.Redirect("~/PrsInfo.aspx?S=ED&RfrId=" + e.CommandArgument.ToString());
}
}
اینم کد های ASP:

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

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<style type="text/css">




.style7
{
height: 56px;
}
.style9
{
color: #009933;
font-weight: bold;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table class="style1" dir="rtl">
<tr>
<td width="200px" style="vertical-align: top">
<table class="style1">
<tr>
<td align="center" class="style7"

style="background-image: url('Img/On-Meno.jpg'); background-repeat: no-repeat; background-position: right center; text-align: right;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; نتیجه جست و جوی مراجعات</td>
</tr>
</table>
</td>
<td style="border-width: thin; vertical-align: top; border-right-style: groove;">
<table class="style1">
<tr>
<td style="border-bottom-style: groove; border-width: thin">
توضیحات این صفحه :
<br />ابتدا استان و شهرستان مورد نظر را انتخاب نمایید.&nbsp; بعد از آن نام بانک را وارد نمایید و دکمه
«ثبت» را
بزنید.</td>
</tr>
<tr>
<td>
<table class="style1">
<tr>
<td class="style9"

style="border-bottom-style: groove; border-width: 1px; border-color: #C0C0C0">
نتیجه جست و جوی مراجعات</td>
</tr>
<tr>
<td>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="PrsInfoCode"
DataSourceID="SrchSqlDataSource" ShowHeader="False" Width="100%"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table class="style1">
<tr>
<td width="110px">
کد مددجویی :</td>
<td>
<asp:Label ID="Label5" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("PrsCode") %>'></asp:Label>
</td>
<td width="110px">
تاریخ مراجعه :</td>
<td>
<asp:Label ID="Label6" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("[تاریخ مراجعه]") %>'></asp:Label>
</td>
<td width="27px">
&nbsp;</td>
<td width="27px">
&nbsp;</td>
</tr>
<tr>
<td>
کد ملی :</td>
<td>
<asp:Label ID="Label12" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("NaCode") %>'></asp:Label>
</td>
<td>
شهرستان :</td>
<td>
<asp:Label ID="Label7" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("شهرستان") %>'></asp:Label>
</td>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
</tr>
<tr>
<td>
نام :</td>
<td>
<asp:Label ID="Label11" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("_Name") %>'></asp:Label>
</td>
<td>
نام خانوادگی :</td>
<td>
<asp:Label ID="Label8" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("_Family") %>'></asp:Label>
</td>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
</tr>
<tr style="border-bottom-style: groove; border-width: thin; border-color: #C0C0C0">
<td>
معرف درون سازمان:</td>
<td>
<asp:Label ID="Label10" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("[معرف درون سازمانی]") %>'></asp:Label>
</td>
<td>
معرف برون سازمان:</td>
<td>
<asp:Label ID="Label9" runat="server" style="font-weight: 700; color: #000066"
Text='<%# Eval("[معرف برون سازمانی]") %>'></asp:Label>
</td>
<td style="text-align: center">
<asp:ImageButton ID="ImageButton2" runat="server"
CommandArgument='<%# Eval("PrsInfoCode") %>' CommandName="Edit_" Height="27px"
ImageUrl="~/Img/Icon/edit.gif" />
</td>
<td style="text-align: center">
<asp:ImageButton ID="ImageButton1" runat="server"
CommandArgument='<%# Eval("PrsInfoCode") %>' CommandName="Delete_"
ImageUrl="~/Img/Icon/editdelete.gif" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SrchSqlDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:SikaDBConnectionString %>"
SelectCommand="SELECT AidReferral.ReferralDate AS [تاریخ مراجعه], (SELECT PsntName FROM TempPresent WHERE (PsntCode = AidReferral.InPsntCode)) AS [معرف درون سازمانی], (SELECT PsntName FROM TempPresent AS TempPresent_1 WHERE (PsntCode = AidReferral.OutPrsntCode)) AS [معرف برون سازمانی], (SELECT CtyName FROM TempCitys WHERE (CtyCode = AidReferral.CtyCode)) AS شهرستان, AidReferral.PrsInfoCode, AidReferral.PrsCode, PrsInfo.NaCode, PrsInfo._Name, PrsInfo._Family FROM AidReferral INNER JOIN PrsInfo ON AidReferral.PrsCode = PrsInfo.PrsCode WHERE (AidReferral.PrsCode = @_PrsCode) ORDER BY AidReferral.ReferralDate DESC">
<SelectParameters>
<asp:SessionParameter Name="_PrsCode" SessionField="_PrsCode" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
<tr>
<td>
&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>

Behrouz_Rad
شنبه 01 خرداد 1389, 21:04 عصر
شرط IsPostBack! رو در Page_Load نوشتی؟

مهدی رحیم زاده
شنبه 01 خرداد 1389, 22:50 عصر
شرط IsPostBack! رو در Page_Load نوشتی؟
آخه نیازی نیست !
ببینید این یک فرم برای نمایش اطلاعاته. یعنی کاربر از یک صفحه به این صفحه هدایت میشه تا بر اساس اطلاعاتی که جست و جو کرده ، اطلاعاتش رو ببینه. برای نمایش اطلاعات از یک GridView استفاده میشه که برای هر دکمه دو تا دکمه یکی برای ویرایش و یکی برای حذف قرار داره . بعد از کلیک روی هر کدوم بر حسب همون دوباره به صفحه اولی بر میگردیم با این تفاوت که این بار اطلاعات توی فیلد هاش برای ویرایش قرار دارن کاربر می تونه اونا رو تغییر بده و نهایتا ذخیره کنه .
یعنی توی Row_Command من به یک صفحه دیگه منتقل میکنم کاربر رو اما این کد اصلا اجرا نمیشه . یعنی اصلا Event اجرا نمیشه . من خط به خط هم بررسی کردم. اصلا سراغ این Event نمیره!
موندم چکارش کنم !:اشتباه:
ممنون بابت وقتی که میزارید:قلب:

Behrouz_Rad
شنبه 01 خرداد 1389, 23:15 عصر
آخه نیازی نیست !

به حرف کسی که راهنماییت می کنه گوش کن :لبخندساده:

مهدی رحیم زاده
یک شنبه 02 خرداد 1389, 00:42 صبح
به حرف کسی که راهنماییت می کنه گوش کن
چشم :خجالت:
بررسیش کنم .

مهدی رحیم زاده
یک شنبه 02 خرداد 1389, 08:30 صبح
با اعمال همون شرطی که گفتید (IsPostBack!) درست شد. توی Page_Load نوشتمش.
میشه یه توضیح هم بدین که چرا این اتفاق می افتاد؟
ممنون بابت زمانی که گذاشتین.

Nightbat
یک شنبه 02 خرداد 1389, 08:42 صبح
قبل از اینکه Row_Command اجرا بشه، یه بار Page_Load اجرا می شه، به خاطر همینه که به این مشکل می خوری.