[英]Invalid postback or callback argument in ImageButton
我的Click事件刪除按鈕(圖像按鈕)時遇到問題。 我知道對此還有其他疑問,但是我什么都不懂!
我不明白沒有答案! 我做了所有其他所有問題中指定的內容! 此頁面中使“重定向”為示例的其他事件效果很好!
我很清楚? 需要更多細節嗎? 堆棧跟蹤或更多代碼?
錯誤是:
無效的回發或回調參數。 使用配置或頁面中的<%@頁面EnableEventValidation =“ true”%>啟用事件驗證。 為了安全起見,此功能驗證回發或回調事件的參數源自最初呈現它們的服務器控件。 如果數據有效且預期,請使用ClientScriptManager.RegisterForEventValidation方法以注冊回發或回調數據以進行驗證。
我的頁面:
<div id="Users" align="center">
<asp:Button ID="btnCreate" class="btn" Font-Bold="true" runat="server" OnClick="btnCreate_OnClick" />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" GridLines="None"
CssClass="table table-bordered table-striped" HeaderStyle-Font-Size="14px">
<Columns>
<asp:BoundField DataField="UserName" />
<asp:BoundField DataField="DisplayName" />
<asp:BoundField DataField="Email" />
<asp:BoundField DataField="ProfileName" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="btnEdit" ImageUrl="style/edit_16.png" runat="server" OnClick="btnEdit_OnClick" />
<asp:ImageButton ID="btnDelete" ImageUrl="style/delete_16.png" runat="server" OnClick="btnDelete_OnClick" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
我的活動:
protected void btnDelete_OnClick(object sender, EventArgs e)
{
Button btn = (Button)sender;
GridViewRow row = (GridViewRow)btn.NamingContainer;
string UserName = row.Cells[0].Text;
using (objConexao = new SqlConnection(strStringConexao))
{
using (objCommand = new SqlCommand(strDeleteUser, objConexao))
{
try
{
objConexao.Open();
objCommand.Parameters.AddWithValue("@UserName", UserName);
var objDataReader = objCommand.ExecuteReader();
}
finally
{
objConexao.Close();
}
}
}
}
我的Page_Load和CarregaGrid()
public void CarregaGrid()
{
var listaRequest = new UsersNDR().ConsultUsers();
if (listaRequest != null)
{
this.GridView1.DataSource = listaRequest;
this.GridView1.DataBind();
foreach (GridViewRow row in GridView1.Rows)
{
string idioma = CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToString();
if (Session["idioma"].ToString() != null)
{
idioma = Session["idioma"].ToString();
}
ImageButton btnDelete = (ImageButton)row.FindControl("btnDelete");
ImageButton btnEdit = (ImageButton)row.FindControl("btnEdit");
btnDelete.ToolTip = Idioma.RetornaMensagem("btnDelete");
btnEdit.ToolTip = Idioma.RetornaMensagem("btnEdit");
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
string idioma = CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToString();
if (Session["idioma"].ToString() != null)
{
idioma = Session["idioma"].ToString();
}
Idioma.MudaCultura(idioma);
btnCreate.Text = Idioma.RetornaMensagem("btnCreate");
GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("UserName");
GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("DisplayName");
GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("email");
GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("ProfileName");
GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("Action");
CarregaGrid();
}
我相信在每個回發表上重新綁定網格的事實是問題,請嘗試將網格更改邏輯包裝在!IsPostBack
,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string idioma = CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToString();
if (Session["idioma"].ToString() != null)
{
idioma = Session["idioma"].ToString();
}
Idioma.MudaCultura(idioma);
btnCreate.Text = Idioma.RetornaMensagem("btnCreate");
GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("UserName");
GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("DisplayName");
GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("email");
GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("ProfileName");
GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("Action");
CarregaGrid();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.