ASP:ButtonfieldからJavaScriptの確認ボックスを作成する方法?
-
11-12-2019 - |
質問
ASPからJavaScriptの確認ボックスを取得するのに苦労しています:buttonfield:
これはGridViewの元のコードですが、ButtonFieldは "onClientClick" を受け入れていないようです
<asp:GridView ID="gvNavios" runat="server" onrowcommand="gvNavios_RowCommand">
<Columns>
<asp:ButtonField runat="server" ButtonType="Button" Text="delete" CommandName="Eliminar" />
</Columns>
</asp:GridView>
.
だから私はASPを試してみました:代わりにlinkbutton:
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:LinkButton ID="eliminar" CommandName="delete" runat="server" Text="delete"/>
</ItemTemplate>
</asp:TemplateField>
.
しかしこのように私はe.commandargumentがいっぱいになっていないようにクリックすることはできません
C#コードの後ろ:
protected void gvNavios_RowCommand(object sender, GridViewCommandEventArgs e)
{
string currentCommand = e.CommandName;
int currentRowIndex = Int32.Parse(e.CommandArgument.ToString());
string imo = gvNavios.Rows[currentRowIndex].Cells[3].Text;
if (currentCommand.Equals("delete"))
{
eliminarNavio(imo);
Response.Redirect(Request.RawUrl);
}
.
}
次のいずれかに感謝します.ASP:ボタンでJavaScriptを挿入するか、LinkButtonからの行番号を取得します。
解決
LinkButtonにCommandArgumentを追加し、いくつかのインデックスを入力する必要があります(オブジェクトIDが最良のものになります)。
<asp:LinkButton ID="eliminar" CommandArgument='<%# Eval("ID") %>' CommandName="delete" runat="server" Text="delete"/>
. 他のヒント
Porque No Usas Un Templatefield?、Creo ES MAS Facils
テンプレートフィールドを使用しないのはなぜですか? rowadatabound :
最初にテンプレートフィールドを作成し、次にTemplateFieldの内側にimageButtonを挿入し、IMG_BORRAR(CommandName)を呼び出します。
RowCommandで、見つけ、インデックス(Commandargument)を設定し、一部のスタイルを設定し、Java ComVirmation:
.If e.Row.RowType = DataControlRowType.DataRow Then
Dim boton_borrar As ImageButton = CType(e.Row.Cells(1).FindControl("img_borrar"), ImageButton)
boton_borrar .CommandArgument = e.Row.RowIndex.ToString
boton_borrar .Style("cursor") = "hand"
boton_borrar .Attributes.Add("onClick", "return window.confirm(' ¿Desea borrar este registro? ');")
End If