0

OnClientClickクラスでJavaScript/jQueryで処理しようとしたが、成功しなかったレコードを削除する前に、ポップアップをユーザーに表示したい

エラー

Type 'System.Web.UI.WebControls.HyperLinkField' does not have a public property named 'OnClientClick'.

コントロール

 <asp:HyperLinkField  OnClientClick="return confirm('Are you sure you would like to delete the selected landing page?')" datanavigateurlfields="id"    datanavigateurlformatstring="ViewLandingPages.aspx?id={0}&delete=yes"   HeaderText="Delete"  Text="Delete" />

編集:クラスを追加しようとしましたが (jqueryで処理するため)、成功しませんでした

4

4 に答える 4

2

<asp:Button/><asp:LinkButton/>またはを使用 して、<asp:ImageButton/>クライアント側とサーバー側でクリックイベントを処理できます。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
       <!--- Other columns/Fields -->
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton 
                    ID="LinkButton1" 
                    runat="server" 
                    OnClientClick='return confirm("Are you sure to delete a record?")'
                    CommandName="Delete">Delete</asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
于 2012-09-27T15:22:21.710 に答える
2

OnClientClickmembers でイベントが宣言されていないことに注意してください。

NavigateUrl次のようにプロパティを設定してみてください。

NavigateUrl='<%# "javascript:return confirm('Are you sure you would like to delete the selected landing page?')" %>'

アップデート

次のように設定してみてくださいDataNavigateUrlFormatString

DataNavigateUrlFormatString="{0}"
于 2012-09-27T15:06:44.207 に答える
0

私のプロジェクトでは、私はこれが好きです。このような確認のためにdivを表示します

<div id="dvDeleteCategory" title="Delete Category">
    <h5>
        Are you sure you wont to delete this category !!!</h5>
</div>

<script type="text/javascript">
    $(function () {       
        $(".lnkDelete").button();
        $("#dvDeleteCategory").dialog({
            autoOpen: false,
            width: 400,
            modal: true,
            resizable: false,
            height: 250
        });

        $(".lnkDelete").click(function (e) {
            e.preventDefault();
            var trargeturl = $(this).attr('href');
            $("#dvDeleteCategory").dialog({
                buttons: {
                    "Delete": function () {
                        window.location.href = trargeturl;
                    },
                    "Cancle": function () {
                        $(this).dialog('close');
                    }
                }
            });
            $("#dvDeleteCategory").dialog('open');
        });
    });
</script>

私はこれがあなたを助けると思う..

于 2012-09-27T15:25:10.013 に答える
0

テンプレートフィールドを使用すると、私の問題が解決します;)

<asp:TemplateField HeaderText="Delete" ShowHeader="False">
  <ItemTemplate>
     <a onclick="return confirm('Are you sure to delete a record?')" href="ViewLandingPages.aspx?delete=yes&id=<%# Eval("id") %>">Delete</a>
   </ItemTemplate>
</asp:TemplateField>
于 2012-09-27T16:36:14.170 に答える