2012-05-18 23 views
0

我有一個很難從ASP獲得一個JavaScript確認框:ButtonField字段:如何讓asp確認框從asp: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:LinkBut​​ton的,而不是:

<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:按鈕,或從得到的LinkBut​​ton行號。

+0

這是一個錯字或你忘了/>中的

+0

這是一個錯字還是你使用了錯誤的名字。它的'OnClientClick'不是'OnClickClient' – Jashwant

+0

@jashwant在代碼中是corect :)好東西關於IDE – Jeremias

回答

0

您需要將CommandArgument添加到LinkBut​​ton並提供一些索引(對象ID將是最好的)。

<asp:LinkButton ID="eliminar" CommandArgument='<%# Eval("ID") %>' CommandName="delete" runat="server" Text="delete"/> 
+0

我應該怎麼做? – Jeremias

+0

我發佈了一個示例代碼。您正在刪除基於單元格索引爲3的文本的navio,對吧?它包含什麼?名字? ID? – ivowiblo

+0

似乎在工作!現在e.commandargument返回「ID」字段的值。 – Jeremias

0

Porque沒有美聯鋼構未TemplateField中,克里奧ES MAS卸妝水

爲什麼不ü使用一個TemplateField¿

的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