有没有办法从aspx页面编写此代码 在asp.net中的aspx页面(cs)的后面代码。
<a rel="lightbox" id="userImageLightBox" runat="server" title="profile image">
<img id="userImage" runat="server" width="150" height="146" alt="" src=""/>
</a>
例如,如果我在apsx中有代码:
<asp:Label ID="pageProfileHeadName" runat="server" Visible="true"/>
在我可以做的后面的代码中:
Label label = new Label();
label.ID = "pageProfileHeadName";
label.Visible = true;
感谢
答案 0 :(得分:1)
简短回答 - 是的 - 超链接控件呈现为<a>
,因此您可以执行此操作:
Hyperlink a = new Hyperlink();
a.ID = "userImageLightBox";
请参阅有关此服务器控件的MSDN:
http://msdn.microsoft.com/en-us/library/k0b15efk(v=vs.71).aspx
无论何时控件都是runat=server
,这意味着您将能够从页面后面的aspx代码(.cs,.vb等)访问它。因此,如果您想要更改特定属性,例如NavigateURL
属性,则可以这样做。
a.NavigateURL = "someURL";
答案 1 :(得分:0)
由于您已经设置了runat="server"
属性,因此可以通过id
访问代码隐藏中的HTML控件:
// *.aspx:
<a id="userImageLightBox" runat="server" ...>
<img id="userImage" runat="server" ... />
</a>
// code-behind:
userImageLightBox.Title = "New Title";
userImage.Src = "~/images/profile.png";
// To get or set an attribute like `rel`:
userImageLightBox.Attributes["rel"] = "test";
更新:如果您想从代码隐藏创建HTML,您可以像JonH所写的那样:
HyperLink a = new HyperLink();
a.ID = "userImageLightBox";
a.Attributes["rel"] = "lightbox";
Image img = new Image();
img.ID = "userImage";
img.ImageUrl = "img.png";
img.Width = 150;
img.Height = 146;
a.Controls.Add(img);
哦,请提高你的接受率。