ASP : ButtonField에서 JavaScript 확인란을 만드는 방법?
-
11-12-2019 - |
문제
ASP에서 JavaScript 확인 상자를 가져 오는 데 어려움을 겪고 있습니다.
이것은 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. colmmandargument가 채워지지 않으므로 어느 행을 클릭 할 수 없습니다
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에서 행 번호를 가져 오십시오.
해결책
링크 버튼에 CommandArgument를 추가하고 일부 색인을 제공해야합니다 (개체 ID가 최상이 될 것입니다).
<asp:LinkButton ID="eliminar" CommandArgument='<%# Eval("ID") %>' CommandName="delete" runat="server" Text="delete"/>
. 다른 팁
voreque 아니 당신 UN Templatefield?, Creo Es Mas Facil
왜 interveField를 사용하지 않습니까? ¿
rowDATabound 내부 :
먼저 TemplateField를 만들고 TemplateField 내에서 ImageButton을 삽입하려면 img_borrar (commandName)을 호출하십시오.
rowcommand에서 찾기, 인덱스 (commandArgument)를 설정하고, 일부 스타일을 설정하고, Java comfirmation :
.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