我在母版页上有一个Image控件(用于徽标),如下所示:
<asp:Image ID="imgLogo" ImageUrl="~/Images/logo.jpg" runat="server" />
我允许我的用户上传他们自己的徽标。因此,在他们上传徽标的页面上,我想用新上传的徽标替换现有徽标。我尝试了以下但没有一个工作:
1)Response.Redirect返回同一页面但没有用。
2)在图片上传完成后尝试以下代码,即使这样也不起作用:
Image imgLogo = (Image)Master.FindControl("imgLogo");
imgLogo.ImageUrl = "~/Images/newLogo.jpg";
答案 0 :(得分:0)
尝试组合两种方法:执行Response.Redirect并在页面加载时替换ImageUrl。
答案 1 :(得分:0)
在我的机器上运行正常 - 确保文件最终在您认为的位置?
或者在动作完成后你在做什么?你在OnLoad或类似的设置ImageUrl?这样做时,你是否检查过你没有回发?
代码:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filename = string.Format("~/Images/{0}.jpg", Guid.NewGuid().ToString());
FileUpload1.SaveAs(MapPath(filename));
Image imgLogo = (Image)Master.FindControl("imgLogo");
imgLogo.ImageUrl = filename;
}
}