为什么我不能在asp.net webforms中这样做?
本文关键字:webforms 这样做 net asp 不能 为什么 | 更新日期: 2023-09-27 18:19:11
我有一个<asp:Image ID="imgBanner1" runat="server"/>
控件在我的aspx页面,然后在代码后面我有这个测试代码:
Image img = new Image();
img.ImageUrl = "~/img/home/home1.jpg";
//...
imgBanner1 = img; //<--
那么当我刷新页面时,<img>
的src
值是空白的,图片不出现。我试图把片段在Page_Load, Page_Init, Page_PreInit事件,但仍然不工作。我怎么解决这个问题?我需要在我的页面中分配一些其他类的自定义控件…谢谢你的回答!
编辑:它工作,如果我这样做:
imgBanner1.ImageUrl = img.ImageUrl;
//...
如果你想动态添加一个控件到页面中,然后添加占位符(或容器-面板等)控件,并在page_init/page_load中编写以下代码。有关更多信息,请参阅MSDN文章-如何:向ASP添加控件。. NET网页编程?
Image img = new Image();
img.ImageUrl = "~/img/home/home1.jpg";
PlaceHolder1.Controls.Add(img);
ImageUrl
是一个字符串属性,您必须设置字符串图像url。
您不需要自己实例化一个新的Image。这些代码在page.designer.cs code-behind/beside文件中作为一个受保护的字段自动生成。你所需要做的就是:
imgBanner1.ImageUrl = "~/img/home/home1.jpg";
在Page_Load
中,一切都会好起来的。