[英]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-toggle
和data-target
屬性,它似乎不會觸發OnClick
事件(永遠不會發生斷點)。
當我刪除data-toggle
和data-target
屬性時,事件會完全觸發,但是我需要該data-toggle和data-target出現。 我有沒有辦法在OnClick
事件結束時在后面的代碼中調用該data-toggle
和data-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.