将相同的代码从aspx页面写入cs页面的后台代码

本文关键字:代码 后台 cs aspx | 更新日期: 2023-09-27 18:22:05

有没有办法从aspx页面编写此代码到aspx.net.中aspx页面的隐藏代码

<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;

感谢

将相同的代码从aspx页面写入cs页面的后台代码

简短回答-是-超链接控件呈现为<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";

由于您已经设置了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);

哦,请提高你的接受率。