Click イベントから Button (Image Button) Delete に問題があります。これについて他にも質問があることは知っていますが、何も理解していません!
わからなかったので無回答!他のすべての質問で指定されているすべてのことを行いました! このページの他のイベントで、「リダイレクト」を例にするとうまくいきます!
私は明確ですか?詳細が必要ですか?スタック トレースまたはその他のコード?
エラーは次のとおりです。
ポストバックまたはコールバック引数が無効です。イベントの検証は、設定で使用するか、ページで <%@ Page 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();
}