![](/img/trans.png)
[英]create a dynamic ModalPopupExtender from code behind does not work
[英]Create Image and PlaceHolder from code behind - dynamic
我想從數據庫中讀取圖像,但它們必須位於無序列表的內部。 我有一個處理程序確實獲得了imgUrl的來源
s+= "< ul>";
while (reader.Read())
{
id = reader.GetInt32(0);
s += "< li>< div>";
s += "< a href='#'>< img src='~/Handlers/ShowImage.ashx?id=" + id + "'/>< /a>";
s += "</ div></ li>";
}
s+="< /ul>";
之后,我使用在aspx中聲明的Literal來傳遞此html代碼塊。
myLiteral.text = s;
問題是:我的處理程序從不執行,所以我從不獲取img源。 為了解決這個問題,我開始使用PlaceHolder而不是編寫標簽“ <img ... />”。
所以我有:
while (reader.Read())
{
id = reader.GetInt32(0);
PlaceHolder holder = new PlaceHolder();
Image img = new Image();
img.ImageUrl = "~/Handlers/ShowImage.ashx?id=" + id;
holder.Controls.Add(img);
s += " li div";
s += " a href='" + reader.GetString(1) + "'" + holder + " /a";
s += " /div /li";
}
這樣處理程序執行,但是我的持有人只是通過.toString()
:S
誰來幫幫我? 而且,這是我想要的最好方法嗎? 謝謝。
請試試....
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
holder.RenderControl(htw);
string s = sw.ToString();
“ s”就是您想要的。
能否請您澄清一下您的問題?
另外,如果您想自己渲染HTML字符串,建議您使用StringBuilder類,而不只是使用“ s + =”
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.