1

这段代码有什么问题?

onclick="javascript:myclick('<%# Container.DataItemIndex %>')"

我正在尝试将 listview 控件的 rowNumber 传递给 javascript 函数“myclick”。上面的代码将所有字符串“<%# Container.DataItemIndex %>”作为参数传递(不带引号)。但我只想要柜台 (1,2,...)

有什么更正/建议吗?

谢谢

4

3 回答 3

1

您可以使用 ListView 的ItemDataBound事件:

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        Hyperlink hlProperyLink  = (Hyperlink)e.Item.FindControl("hlProperyLink");
        hlProperyLink.Attributes.Add("onclick", "javascript:myclick('" + e.Item.DataItemIndex.ToString() + "')");
    }
}
于 2012-10-31T13:55:45.233 回答
0

Page.DataBind();除非您在代码隐藏的某处调用,否则不会评估数据绑定表达式。

于 2012-10-31T13:55:33.067 回答
0

如果您想在标记中(而不是从 ItemDataBound)中写入所有内容,您可以使用以下命令:

onclick='<%#"myClick(" + Container.DataItemIndex +")"%>'
于 2013-10-27T08:49:17.143 回答