NavigateUrl with RouteUrl from code-behind



In asp.net web forms .我有一个带有超链接和隐藏字段的中继器。我正在尝试使用隐藏字段的值为转发器设置数据绑定上的NavigateUrl

这是我得到的:

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        HyperLink hyperLink = (HyperLink)e.Item.FindControl("HyperLink1");
        HiddenField hf = (HiddenField)e.Item.FindControl("HiddenField1");
        hyperLink.NavigateUrl = "<%$RouteUrl:id=" + hf.Value.ToString() + " %>";
    }
}

问题是我最终得到的是这个网址

http://localhost:49333/Video/skate/%3C%$RouteUrl:sport=skate,category=flat,id=5716c22e89f9d719bc1b2f6f%20%%3E.

我可能误解了这一点,但找不到任何信息。

好的,

所以这个答案已经在这里了,但我没有意识到它适用于我

NavigateUrl=<%# Eval("id", "~/webpages/VideoEmbed.aspx?id={0}")

最新更新