2012-01-30 105 views
0

有沒有辦法將這個代碼從aspx頁面 寫入asp.net中aspx頁面(cs)的後面代碼。從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

既然你已經設置了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); 

哦,請提高您的接受率。

+0

嗨丹尼斯謝謝你的回答,但這不是我所知尋找我想寫我在代碼背後發佈的代碼,而不是在sapx代碼 – user723686 2012-01-30 15:42:03

+0

好吧,那麼我可能誤解了這個問題。看看我更新的答案。 – 2012-01-30 15:49:34

+0

非常感謝,如果我可以打擾你與另一個問題,我怎麼能包含在超鏈接圖像的網址,和圖像高?謝謝agen – user723686 2012-01-30 15:59:55

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"; 
+0

+1:打我吧 – 2012-01-30 14:37:09

+0

但是我怎樣才能從後面的代碼寫沒有a.rel =「」的rel =「lightbox」謝謝 – user723686 2012-01-30 15:39:56

相關問題