2009-05-14 15 views
0

アイテムを挿入または編集するときに、いくつかのJavascriptチェックを追加するだけです。私がこれを行うために知っている唯一の方法(インラインJavascriptを使用)は、DetailsViewのAutoGenerateXxxButtonプロパティを無効にして自分で作成することです。私が抱えている問題は、それらをカスタムLinkBut​​tons(そしてデフォルトのアクションを維持する)に置き換え、Javascriptを追加することです。私はこれを簡単にやることができる方法はありますか?私が見る唯一のオプションは、テンプレートを編集してフッターなどに配置することです。DetailsViewコマンドバーをカスタマイズする

ヒント?トリック?わかりやすい明白なことが私には分からない?

答えて

2

私はこの細部を見て、詳細ビューで他のいくつかの質問を探しました。比較的容易なことは、そのフィールドをテンプレートフィールドに変えることです。テンプレートフィールドに削除コマンドラインを回すから、ここではいくつかのコード:

<asp:TemplateField ShowHeader="False"> 
    <ItemTemplate> 
     <asp:LinkButton ID="btnDelete" runat="server" CausesValidation="False" 
         CommandName="Delete" Text="Delete"></asp:LinkButton> 
    </ItemTemplate> 
</asp:TemplateField> 

あなたはその削除ボタンにいくつかのJavaScriptを追加するために、今...

を使用すると、テンプレートフィールドにリンクする任意のマークアップを置くことができ、

Protected Sub dgFileDetails_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgFileDetails.DataBound 
    Dim btnDelete As LinkButton = CType(dgFileDetails.FindControl("btnDelete"), LinkButton) 
    If Not btnDelete Is Nothing Then 
     btnDelete.OnClientClick = String.Format("return confirm('Are you sure you want to delete the division {0}?');", dgFileDetails.DataKey.Value) 
    End If 
End Sub 

が、私はこれを削除ボタンに取り組んでいる知っているが、あなたはあまりにも挿入および更新ボタンあちこちにこの概念を取ることができる必要があります:あなたはたDetailsViewのためのデータバインドイベントハンドラでそれを行うことができます。

+0

C#バージョン:保護されたボイドOnDetailsViewDataBound(オブジェクト送信者、のEventArgs電子) {\tのLinkBut​​tonボタンのLinkBut​​tonとして= this.myDetailView.FindControl( "lnkDelete")。 \t if(button!= null) \t { \t \t文字列message = "このアイテムを削除しますか?"; \t \t button.OnClientClick = string.Format( "戻り確認( '{0}');"、メッセージ); \t} } –

関連する問題