asp.net – 动态设置超链接控件的navigationurl属性内联

如何在aspx页面中动态设置一个独立的(不在gridview中)超链接控件的navigateurl属性内联?

我试图做以下,但它没有奏效.

<asp:HyperLink id="MyLink"
  NavigateUrl="../mypage.aspx?id=<%= pageid %>"
  runat="server">My Page</asp:HyperLink>

解决方法

你可以在代码中执行此操作:
protected void Page_Load(object sender,EventArgs e)
{
    if (!IsPostBack)
    {
        string pageid = "123";
        MyLink.NavigateUrl = string.Format("../mypage.aspx?id={0}",pageid);
    }
}

更新:

现在@Marko Ivanovski指出了这个超链接在GridView中的注释,我没有注意到,最简单的方法是使用数据绑定(<%#语法):

<asp:TemplateColumn>
    <ItemTemplate>
        <asp:HyperLink 
            id="MyLink" 
            NavigateUrl='<%# Eval("pageid","~/mypage.aspx?id={0}")  %>'
            runat="server">
        My Page
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateColumn>

在这种情况下,pageid是数据源的属性.

更新2:

你真的需要服务器端控制吗?怎么样:

<a href="<%= this.ResolveUrl("~/mypage.aspx?id=" + pageid) %>">
    My Page
</a>

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...