将listview的行号传递给javascript函数

时间:2012-10-31 13:50:58

标签: javascript asp.net

这段代码有什么问题?

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

我正在尝试将listview控件的rowNumber传递给javascript函数&#34; myclick&#34;。上面的代码传递了所有字符串&#34;&lt;%#Container.DataItemIndex%&gt;&#34;作为参数(没有引号)。但我只想要计数器(1,2,...)

有任何更正/建议吗?

由于

3 个答案:

答案 0 :(得分: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() + "')");
    }
}

答案 1 :(得分:0)

除非您在代码隐藏中的某处调用Page.DataBind();,否则不会评估

Data binding expressions

答案 2 :(得分:0)

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

onclick='<%#"myClick(" + Container.DataItemIndex +")"%>'