PDA

View Full Version : مشکل با command argument



mamad_za
شنبه 20 دی 1393, 16:49 عصر
یه سوال دیگه داشتم :لبخند:
اینکه من اطلاعات رو از بانک می خونم و ID رو به خاصیت command argument یه ImageButton بایند می کنم که زمانی که روش کلیک شد از طریق این Id اون ردیف رو تو بانک پاک کنه اما یه مشکل هست که با هر نوع کدی که تغییر می دم ارور میده
<asp:Repeater id="rptAdmin" runat="server">
<ItemTemplate>
<ul>
<li>
<asp:Label ID="lblDate" runat="server" Text='<%#Eval("TarikhOzviat")%>'></asp:Label><
<asp:Label ID="lblName" runat="server" Text='<%#Eval("UserName")%>'></asp:Label>
<asp:ImageButton ID="imgBtn" runat="server" ImageUrl="~/img/closeBtn.gif" AlternateText="حذف" CommandArgument='<%#Eval("AdminId")%>' OnCommand="imgBtn_Command" />
</li>
</ul>
</ItemTemplate>
</asp:Repeater>
protected void FillAdminEdit()
{
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("Select * from tbl_Admin", con);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
con.Open();
sda.Fill(dt);
con.Close();
rptAdmin.DataSource = dt;
rptAdmin.DataBind();
}

protected void imgBtn_Command(object sender, CommandEventArgs e)
{
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("Delete From tbl_Admin WHERE AdminId=@p1", con);
Button button = (sender as Button);
string commandArgument = button.CommandArgument;
RepeaterItem item = button.NamingContainer as RepeaterItem;
int index = item.ItemIndex;
cmd.Parameters.AddWithValue("@p1", index);
con.Open();
int affected = cmd.ExecuteNonQuery();
con.Close();
if (affected > 0)
{
lblresult.Text = "با موفقیت حذف شد.";
}
else
{
lblresult.Text = "ارور";
}
}

قسمت اول کد html هست
فسمت دوم واسه بایند کردن داده ها
و قسمت سوم واسه پاک کردن اطلاعات
اما همش این ارور رو میده :
Server Error in '/' Application.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.

keiv@n
شنبه 20 دی 1393, 21:02 عصر
سلام

باید در استفاده از validation هات از ValidationGroup استفاده کنی

و کنترل button یه ValidationGroup متفاوت در نظر بگیری....

mamad_za
شنبه 20 دی 1393, 22:31 عصر
سلام

باید در استفاده از validation هات از ValidationGroup استفاده کنی

و کنترل button یه ValidationGroup متفاوت در نظر بگیری....

ممنون دوست عزیز ، شاید من زیاد سر در نیاوردم اما من تو اینجا فرمی ندارم که بخوام ولیدیت کنم ؟
بیشتر مشکلم این قسمته که من وقتی آی دی هر تیبل رو بایند می کنم که توسط اون ای دی بتونم عملیات هایی رو انجام بدم مثلاً حذف ، آپدیت ، اما نمیشه از این Command argument استفاده کرد دیگه
بیشتر مشکلمم تو این قسمته :
Button button = (sender as Button);
string commandArgument = button.CommandArgument;
RepeaterItem item = button.NamingContainer as RepeaterItem;
int index = item.ItemIndex;
cmd.Parameters.AddWithValue("@p1", index);

mamad_za
یک شنبه 21 دی 1393, 11:52 صبح
دوستان کسی نیست راهنمایی کنه؟