Gli*_*kot 2 c# asp.net imagebutton
我之前在转发器中完成了这个任务并且它已经工作了.但是,我无法通过正常的webforms页面获得以下内容.图像显示为断开的链接,我在代码隐藏中的断点不会被触发.
(在aspx文件中)
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# GetImageDirectory()%>btnRunReport.png' />
Run Code Online (Sandbox Code Playgroud)
(代码隐藏)
public string GetImageDirectory()
{
return "~/App_Variants/LBSX/images/";
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试的第二种方法,在另一种方法中,我尝试将imagename作为字符串传递,并且它会以这种方式返回整个链接.仍然没有运气!
有什么想法吗?
谢谢!
[编辑]感谢大家的帮助.最后,在方便的提示后,我找到了一个递归片段,其功能如下:
private void UpdateImages(Control Parent)
{
foreach (Control c in Parent.Controls)
{
ImageButton i = c as ImageButton;
if (i != null)
{
i.ImageUrl = "~/App_Variants/LBSX/images/" + i.ImageUrl;
}
if (c.HasControls())
{
UpdateImages(c);
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
UpdateImages(Page);
...
Run Code Online (Sandbox Code Playgroud)
希望它可以帮助别人.
干杯
首先,就像Zachary提到的那样,您正在使用代码块进行数据绑定.
其次,正如您已经尝试过的那样,使用内联表达式(<%= %>)在您的情况下也不会起作用,因为您不能对服务器标记的任何属性使用内联表达式.
您可以做的是使用HTML语法定义图像按钮,省略runat="server"标记,并使用内联表达式来获取图像的URL:
<input type="image" src="<%= GetImageDirectory() %>btnRunReport.png" name="image" />
Run Code Online (Sandbox Code Playgroud)
什么内嵌式所做的是,它调用Response.Write()与价值之间<%= %>的参数,例如:<%= this.MyVar %>是Response.Write(this.MyVar).
| 归档时间: |
|
| 查看次数: |
14374 次 |
| 最近记录: |