asp:GridViewの削除ボタンの削除確認をポップアップするにはどうすればよいですか?
質問する
2792 次
3 に答える
8
GridView の各行に削除ボタンがある場合、確認を求めるアラートを表示するための最良の (そして間違いなく最も簡単な) 方法は次のとおりです。完全な aspx コードは次のとおりです (コード ビハインドは必要ありません)。
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="DeleteButton" runat="server"
CausesValidation="False"
CommandName="Delete"
OnClientClick='<%# Eval("Title", "return confirm(\"Delete the datasource {0}?\");") %>'
Text="delete" />
</ItemTemplate>
</asp:TemplateField>
いくつかのメモ:
- CommandName は Delete である必要があります。これが、これを GridView の削除機能にマップするものです。
- Title は、その行のタイトルのデータ列名です。ここで何を使用するかは、データの列/プロパティ名によって異なります。
- datasource という単語についても同じです。これが行を持っているものです。データの名前に置き換える必要があります。
- <%$ resource_name %> はテキストに対して機能するはずですが、まだ行っていません。
于 2012-06-15T00:03:18.563 に答える
0
GridView を使用している場合は、間違った方向に進んでいます。プロは使いません。ほとんどの場合、ListView のみを使用します。だから気にしないでください。ほとんどの書籍は、業界のベスト プラクティスを教えていません。
于 2012-06-15T02:06:28.227 に答える
0
グリッド ビューの RowDataBound で、削除リンクに onlick 属性を動的に追加することもできます。
以下のコードでは、3 列のテーブルがあるため、columnIndex = 2 です。また、自動生成ボタン (削除) は 1 つしかないため、autoButtonIndex = 0 です。編集ボタン、保存ボタンがある場合、このインデックスは変更されます。 .
Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Dim columnIndex As Integer = 2
Dim autoButtonIndex as Integer = 0
Try
If (e.Row.RowType = DataControlRowType.DataRow) Then
If (e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate) Then
Dim lnkBtn As LinkButton = CType(e.Row.Cells(columnIndex).Controls(autoButtonIndex), LinkButton)
lnkBtn.Attributes.Add("onclick", "if(!confirm('Are you sure to delete this row?'))return false;")
End If
End If
Catch ex As Exception
End Try
End Sub
例外を適切に処理することを忘れないでください。
于 2012-09-25T11:39:59.450 に答える