2009-01-19 56 views
0

我有一個ASP.NET用戶控件,它承載了'HtmlImage'。 src屬性在運行時成功設置,但將呈現的控件添加到另一個容器會導致src屬性丟失。如何堅持ASP.NET的屬性用戶控件

呈現的控件存儲在會話中(我知道這並不理想)。然後重定向到另一個使用Session中控件的頁面。

也許是因爲url沒有編碼?

代碼:

<img id="ctlImage" runat="server" style="border-style: none;" /> 

ctlImage.Src = String.Format("..\image.aspx?{0}", "...") 
+0

哦 - 我意識到我的標題現在是錯誤的。抱歉。 – Llyle 2009-01-19 05:21:49

回答

1

您是否嘗試過使用一個asp:Image控件,而不是一個普通的老式img標籤?

+0

我真的不想走向使用asp:Image控件的道路。我似乎現在被迫,但我仍然渴望找到我遇到問題所描述的原因。回答你的問題:是的,它有效。 – Llyle 2009-01-19 05:27:01

1

這可能是因爲HtmlControls(包括HtmlImage)的屬性存儲在ViewState中。 ViewState不會被髮送到其他頁面似乎是合理的。

不是將控件存儲在Session中,爲什麼不直接存儲生成的html代碼呢?更輕量。

+0

爲什麼ViewState被丟棄是合理的?因爲在使用asp:Image時沒有觀察到這種行爲? 不流式傳輸生成的html的原因是因爲使用該控件的頁面需要按摩控件以進行打印。我確實看到了預發送信息的替代方法:) – Llyle 2009-01-21 11:10:32