javascript - LinkBut​​ton OnClick 不与数据目标和数据切换一起运行

标签 javascript c# html asp.net

在我的 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 方法中绑定(bind)添加属性,这样它们将使用指定的属性进行渲染,并且后端也会在需要时了解它们。

示例:

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

编辑:正如您所说,这是在 ListView 上,上面的解决方案也可以工作,它有点 hacky,但您可以这样做

    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());
    }

Data 是绑定(bind)到此模板按钮的 ListView 的数据。

关于javascript - LinkBut​​ton OnClick 不与数据目标和数据切换一起运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38192138/

相关文章:

javascript - jQuery validate bootstrap 插件不验证多个表单

javascript - 使用 Javascript 有条件地过滤对象数组

javascript - 如何在 Three.JS 中将两个 BufferGeometry 合并为一个 BufferGeometry?

c# - 异步等待同步运行

html - 更改输入文本颜色

javascript - 选择特定选项后禁用 select2 上的选项

javascript - 如果用户一直向下滚动,则按间隔向下滚动

C# 显式转换运算符

javascript - 将 ID 的路径作为页面路径

c# - 我可以用什么让用户建立自己的头像角色?