0

asp:buttonfield から JavaScript 確認ボックスを取得するのに苦労しています:

これはGridviewの元のコードですが、ボタンフィールドは「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:button に javascript を挿入するか、linkbutton から行番号を取得します。

4

2 に答える 2

0

Porque no usas un templatefield ?, creo es mas facil

なぜテンプレートフィールドを使わないのですか?

RowDataBound内:

最初に templatefield を作成し、次に templatefield 内に imageButton を挿入します。これを img_borrar(commandName) と呼びます。

次に、rowcommand でそれを見つけ、インデックス (CommandArgument) を設定し、いくつかのスタイルを設定し、Java 確認を行います。

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
于 2012-05-18T17:23:36.613 に答える
0

CommandArgument を LinkBut​​ton に追加し、いくつかのインデックスを提供する必要があります (オブジェクト ID が最適です)。

<asp:LinkButton ID="eliminar" CommandArgument='<%# Eval("ID") %>' CommandName="delete" runat="server" Text="delete"/>
于 2012-05-18T16:11:14.840 に答える