动态地设置超级链接控件的NavigateUrl属性直列 [英] dynamically set hyperlink control's navigateurl property inline

查看:307
本文介绍了动态地设置超级链接控件的NavigateUrl属性直列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何动态地单独设置一个独立(而不是在GridView控件),超级链接控件的NavigateUrl属性内嵌在aspx页面?

我试图做到以下几点,但没有奏效。

 < ASP:超链接的id =myLink的
  NavigateUrl =../ mypage.aspx ID =<%=的pageid%>中
  =服务器>我的页面< / ASP:超链接>
 

解决方案

您可以在codebehind做到这一点:

 保护无效的Page_Load(对象发件人,EventArgs的)
{
    如果(!的IsPostBack)
    {
        字符串的pageid =123;
        MyLink.NavigateUrl =的String.Format(../ mypage.aspx ID = {0}?的pageid);
    }
}
 


更新:

现在的@Marko伊万诺夫指出我的意见,这个超链接是在的GridView ,我没有注意到在一开始最简单的办法是使用数据绑定( <%#语法):

 < ASP:TemplateColumn中>
    <的ItemTemplate>
        < ASP:超链接
            的id =myLink的
            NavigateUrl ='<%#的eval(的pageid,?〜/ mypage.aspx ID = {0})%>
            =服务器>
        我的页面
        < / ASP:超链接>
    < / ItemTemplate中>
< / ASP:TemplateColumn中>
 

在这种情况下,的pageid 是数据源的一个属性。


更新2:

你真的需要一台服务器端控件?怎么样:

 < A HREF =<%= this.ResolveUrl(?〜/ mypage.aspx ID =+的pageid)%>>
    我的页面
&所述; / a取代;
 

How can I dynamically set a stand alone(not in gridview) hyperlink control's navigateurl property inline in the aspx page?

I have tried to do the following, but it did not work.

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

解决方案

You could do this in the codebehind:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string pageid = "123";
        MyLink.NavigateUrl = string.Format("../mypage.aspx?id={0}", pageid);
    }
}


UPDATE:

Now that @Marko Ivanovski pointed me in the comments that this hyperlink is inside a GridView which I didn't notice in the beginning the easiest would be to use databinding (<%# syntax):

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

In this case pageid is a property of the data source.


UPDATE 2:

Do you really need a server side control? How about:

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

这篇关于动态地设置超级链接控件的NavigateUrl属性直列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆