2012-04-27 9 views
2

GridViewの各行の最後に削除イメージを追加しようとしています。ユーザーが画像をクリックして行を削除できるようにします。私は内部の画像をTemplateFieldを作成したのでASP.NetのGridViewにクリック可能な画像を追加

<asp:HyperLinkField DataNavigateUrlFields="ID" 
         DataNavigateUrlFormatString="RemoveLine.aspx?ID={0}"        
         Target="_blank" /> 

がHyperLinkFieldイメージタグが含まれていません:

は、だから私は、レコードを削除します別のページへのリンクを作成するためにHyperLinkFieldを使用しました。

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:Image ID="imageRemove" runat="server" ImageUrl="~/Images/smallcross.gif" />         
    </ItemTemplate>       
</asp:TemplateField> 

ただし、HyperLinkFieldとImageは異なる列に表示され、画像にクリックイベントはありません。

2つを組み合わせる方法はありますか?

私はASP.Net 4.0を使用しています。

ありがとうございます。

答えて

0

画像ボタンはどうですか?

<ItemTemplate> 
     <asp:ImageButton ID="ImageButton1" runat="server" 
      ImageUrl="~/Images/smallcross.gif" onclick="ImageButton1_Click" /> 
</ItemTemplate> 
5

通常、あなたは、レコードのIDを識別するためにCommadArgumentプロパティを使用することができ、あなたが削除するレコードを識別する必要があります。

<asp:TemplateField HeaderStyle-Width="40"> 
    <ItemTemplate> 
     <asp:ImageButton ID="ButtonDelete" runat="server" 
      ImageUrl="~/Imags/delete.png" OnClick="ButtonDelete_Click" ToolTip="Delete" 
      CommandArgument='<%#Bind("UserId")%>'/> 
    </ItemTemplate> 
</asp:TemplateField> 

protected void ButtonDelete_Click(object sender, EventArgs e) 
{ 
    ImageButton button = sender as ImageButton; 
    DeleteUserById(Convert.ToInt32(button.CommandArgument)); 
} 
+0

ブリリアントをもたらします。ありがとう – user1131661

0

あなたは生のアンカータグを使用して画像をラップすることができます同じ結果が得られます。

+0

返信ありがとう、私はどのようにIDを渡すでしょうか? – user1131661

2
<asp:TemplateField> 

<ItemTemplate> 

<a href="RemoveLine.aspx?ID={0}">  
<asp:Image ID="imageRemove" runat="server" ImageUrl="~/Images/smallcross.gif" />            
</a> 
</ItemTemplate> 

</asp:TemplateField> 
<asp:TemplateField> 
<ItemTemplate> 
    <asp:ImageButton ID="btnDelete" runat="server" 
     ImageUrl="~/Imags/delete.png" OnClick="btnDelete_Click" 
ToolTip="Delete row" CommandName="Eliminar" CommandArgument='<%#Eval("UserId")%>'/> 
</ItemTemplate> 

選択した行のID値を渡すCommandArgumentを使用し 欲望を行うことができる

// fires when the ImageButton gets clicked 
protected void GridView1_ItemCommand(object sender, DataGridCommandEventArgs e) 
{ 
    if(e.Commandname ="Eliminar"){ 
    this.Eliminar(Convert.ToInt32(e.CommandArgument)); 

} 

}

// function to delete the record 
private void Eliminar(int code) 
{ 
    //custom code to delete the records 
} 
+0

華麗なありがとう – user1131661

関連する問題