我正在尝试从代码隐藏创建一个超链接,但它并没有创建它我希望它的位置。
如果我查看我的源代码是在其他地方创建,从.aspx页面看起来似乎所有内容都存在于需要的位置。
的.aspx
<div class="AZ">
<ol class="AZlist">
<asp:PlaceHolder runat="server" ID="AToZ"></asp:PlaceHolder>
</ol>
</div>
.codebehind
HyperLink links = new HyperLink();
links.Text = "<li>" + CheckMe.ToString() + "</li>";
links.NavigateUrl = "<a href='#'" + CheckMe.ToString() + ">";
ph.Controls.Add(links);
源代码:
.... .... ...
<div class="AZ">
<ol class="AZlist">
// I WANT HYPERLINK HERE....!!!!!!!!!!!
</ol>
<br />
</div>
</li>
但它在div区域外创建
<a href="#A"><li>A</li></a>
答案 0 :(得分:1)
我认为你不应该将这些标签放在.text和.navigateurl属性中。只需将链接和文本放在其中即可。将<li>
标记放在占位符周围。
答案 1 :(得分:0)
放弃你在这里做的方式。尝试制作你的ol标签runat =“server”并给它一个id。然后创建一个新的ListItem控件,添加超链接控件,并将ListItem添加到ol。
代码隐藏中有类似的东西:
dim anLi = new ListItem([can't remember exact parameters])
dim aHyperlink = new Hyperlink([whatever to initialize])
anLi.addControl(aHyperlink)
theOl.controls.add(anLi)
答案 2 :(得分:0)
为什么不使用asp:repeater。
然后,您可以使用标题/细节/页脚模板将所有标记放在aspx模板中。接下来,只需将代码隐藏和数据绑定中的文本和URL值转换为可绑定格式即可。
在后面的代码中保存标记,并且需要动态插入可能导致帖子后退的控件。