C# 将导航url动态设置为超链接
我正在尝试将导航url设置为gridview中的超链接 我在gridview中使用后端c#代码中的文字创建表 代码现在看起来像是在GridviewRowDataBound(对象发送者,GridViewRowEventArgs e)中C# 将导航url动态设置为超链接,c#,asp.net,C#,Asp.net,我正在尝试将导航url设置为gridview中的超链接 我在gridview中使用后端c#代码中的文字创建表 代码现在看起来像是在GridviewRowDataBound(对象发送者,GridViewRowEventArgs e)中 Literal.Text+=“联系人”; 我想在此代码中设置导航 如果有人有主意,那会很有帮助 谢谢您应该只创建一个超链接控件,而不是尝试将其添加到文本中: HyperLink lnk = new HyperLink(); lnk.Text = "Hello Wo
Literal.Text+=“联系人”;
我想在此代码中设置导航
如果有人有主意,那会很有帮助
谢谢您应该只创建一个超链接控件,而不是尝试将其添加到文本中:
HyperLink lnk = new HyperLink();
lnk.Text = "Hello World!";
lnk.NavigateUrl = "~/somefolder/somepage.aspx";
e.Row.Cells[0].Controls.Add(lnk);
如果您的方法可行,您可以尝试以下方法:
Literal.Text += String.Format("<asp:HyperLink ID=\"hlContact\" runat=\"server\" NavigateUrl=\"{0}\">Contact</asp:HyperLink>", navigationUrl);
Literal.Text+=String.Format(“,导航URL”);
如果您只是尝试将GridView中的超链接字段与绑定字段进行数据绑定,则可以使用TemplateField。下面是一个例子,可以在前面完成,而不是在后面的代码中添加
<asp:TemplateField HeaderText="Contact" SortExpression="LastName, FirstName">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format("~/Page.aspx?ID={0}", Eval("CustID").ToString()) %>'>Contact</asp:HyperLink>)
</ItemTemplate>
</asp:TemplateField>
(联系方式)
当我们将html
内容写入literal
时,它不会正确拾取asp超链接。但是当我使用普通的“a”
标记时,它正确地选择了重定向路径
literal.Text += "a ID='linkcontact' runat='server' href='" + "www.website./pagename.aspx?ID=" + id + "'>contact</a>";
literal.Text+=“a ID='linkcontact'runat='server'href=”+“www.website./pagename.aspx?ID=“+ID+””>contact”;
用于生成菜单和子菜单代码c。使用变量和navigateurl是下一种形式
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem>
<asp:MenuItem></asp:MenuItem>
<asp:MenuItem></asp:MenuItem>
</asp:MenuItem>
</Items>
</asp:Menu>
NavigationMenu.Items[0].Text = "xxxxxx"; name of menu
MenuItem menu = NavigationMenu.Items[0];
MenuItem submenu = new MenuItem("xxxxxx"); //name of submenu
submenu.NavigateUrl = "~/Main/xxxxx.aspx?id=" + id + "";
MenuItem submenu1 = new MenuItem("xxxxxxx");//name of sumbenu1
submenu1.NavigateUrl = "~/Main/xxxxxxx.aspx?id=" + id + "";
menu.ChildItems.Add(submenu);
menu.ChildItems.Add(submenu1);
NavigationMenu.Items[0]。Text=“xxxxxx”;菜单名
MenuItem menu=NavigationMenu.Items[0];
菜单项子菜单=新菜单项(“xxxxxx”)//子菜单名称
submenu.NavigateUrl=“~/Main/xxxxx.aspx?id=“+id+”;
菜单项子菜单1=新菜单项(“xxxxxxx”)//sumbenu1的名称
子菜单1.NavigateUrl=“~/Main/xxxxxxx.aspx?id=“+id+”;
菜单.ChildItems.Add(子菜单);
menu.ChildItems.Add(子菜单1);
也许我误解了问题或上下文,但这不会简单地呈现“@Mikemane:这也是我的想法,因此我的第一个建议是在某种父容器中添加一个超链接控件。这只会呈现文本”似乎你走了另一个方向!这与创建带有导航的菜单无关。这是网格视图
列中的链接+一些其他信息,其中数据被附加到文本
。看来你今天加入了这个网站。感谢你的贡献。但是看看那些没有任何公认答案的问题。如果答案被接受,您将看到答案左侧的复选标记!
literal.Text += "a ID='linkcontact' runat='server' href='" + "www.website./pagename.aspx?ID=" + id + "'>contact</a>";
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem>
<asp:MenuItem></asp:MenuItem>
<asp:MenuItem></asp:MenuItem>
</asp:MenuItem>
</Items>
</asp:Menu>
NavigationMenu.Items[0].Text = "xxxxxx"; name of menu
MenuItem menu = NavigationMenu.Items[0];
MenuItem submenu = new MenuItem("xxxxxx"); //name of submenu
submenu.NavigateUrl = "~/Main/xxxxx.aspx?id=" + id + "";
MenuItem submenu1 = new MenuItem("xxxxxxx");//name of sumbenu1
submenu1.NavigateUrl = "~/Main/xxxxxxx.aspx?id=" + id + "";
menu.ChildItems.Add(submenu);
menu.ChildItems.Add(submenu1);