簡體   English   中英

LinkBut​​ton OnClick不能與數據目標和數據切換一起運行

[英]LinkButton OnClick Doesn't run with data-target and data-toggle

在我的asp.net應用程序(使用C#)中,我具有以下鏈接按鈕:

<asp:LinkButton ID="btnSelectPhoto" runat="server" Width="120" style="display:inline-block; margin:5px;"
    CausesValidation="false" 
    CommandArgument='<%# Eval("Id") + "," + Eval("Name") + "," + Eval("Description") + "," + Eval("Path") + "," +  Eval("DateCreated") %>'
    OnClick="btnSelectPhoto_Click"
    data-toggle="modal" data-target="#album-photo" > 

    ...

</asp:LinkButton>

當前具有data-toggledata-target屬性,它似乎不會觸發OnClick事件(永遠不會發生斷點)。

當我刪除data-toggledata-target屬性時,事件會完全觸發,但是我需要該data-toggle和data-target出現。 我有沒有辦法在OnClick事件結束時在后面的代碼中調用該data-toggledata-target功能? 或其他解決我問題的方法?

您可以在頁面的OnInit方法上綁定添加屬性,以使它們將使用指定的屬性呈現,並且后端將在需要時知道它們。

樣品:

  protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        btnSelectPhoto.Attributes.Add("data-toggle", "modal");
        btnSelectPhoto.Attributes.Add("data-target", "#album");
    }

編輯 :正如您所說的,這是在ListView上的,上面的解決方案也可以工作,雖然有點黑,但是您可以這樣做

    protected void Page_Load(object sender, EventArgs e)
    {

        this.ListView1.DataSource = new[] { 1, 2, 3, 4, 5 };
        this.ListView1.DataBind();
    }

    protected void Button1_Init(object sender, EventArgs e)
    {
        var dataList = ListView1.DataSource as IEnumerable<int>;
        var senderButton = (sender as Button);
        var data = (senderButton.NamingContainer as ListViewItem).DataItem;
        senderButton.Attributes.Add("data-x", data.ToString());
    }

數據是綁定到此模板按鈕的ListView的數據。

我找到了解決方案。 我在OnClick事件的末尾添加了以下代碼,現在一切正常。

ClientScript.RegisterStartupScript(GetType(), "Show", "<script> $('#album-photo').modal('toggle');</script>");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM