Page中有一些“图像”按钮。在数据库中,我正在存储哪些按钮来显示哪个图像。但是在页面中显示时,我无法显示。没有错误显示,但没有显示图像。代码是:
DataSet dsSeat = new DataSet();
dsSeat=objSeat.SeatView();
for (int i = 0; i < dsSeat.Tables[0].Rows.Count; i++)
{
ImageButton Button1 = new ImageButton();
Button1.ID = dsSeat.Tables[0].Rows[i]["Image"].ToString();
Button1.ImageUrl = "~/App_Images/1.png";
}
在某些情况下,我可以使用
ImageButton CurrentButton = (ImageButton)sender;
string buttonId = CurrentButton.ID;
CurrentButton.ImageUrl = "~/App_Images/1.png";
但是由于我不是在某种情况下以某种方法使用它,该怎么办?
您只是在创建ImageButton
对象,而没有将它们实际插入页面中。选择一些容器,Panel1
例如下面的示例,然后将按钮插入其Controls
集合:
for (int i = 0; i < dsSeat.Tables[0].Rows.Count; i++)
{
ImageButton Button1 = new ImageButton();
Button1.ID = dsSeat.Tables[0].Rows[i]["Image"].ToString();
Button1.ImageUrl = "~/App_Images/1.png";
Panel1.Controls.Add(Button1);
}
当然,这可能是更复杂的逻辑,而不是简单地插入其中Panel
-这取决于您的要求。
更新。从评论看来,您的问题出在其他地方。如果需要在页面上已经存在的控件上设置图像,如下所示:
<asp:ImageButton ID="A1" runat="server" ImageUrl="~/App_Images/0.png" />
只需在后面的代码中使用其ID调用它即可:
A1.ImageUrl = "~/App_Images/1.png";
如果您正在从DB接收ID,则可以FindControl
在按钮的立即容器上使用(例如Panel1
):
for (int i = 0; i < dsSeat.Tables[0].Rows.Count; i++)
{
ImageButton Button1 = Panel1.FindControl(dsSeat.Tables[0].Rows[i]["Image"].ToString());
Button1.ImageUrl = "~/App_Images/1.png";
}
请注意,这仅是一个猜测,您的问题尚不清楚确切的问题是什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句