从aspx页面调用方法后面的代码

我有一个像这样的图像标签

<asp:Image ID="ImgProduct" runat="server" ImageUrl='' /> 

并在代码后面我有一个像这样的方法

 protected string FormatImageUrl(string s) { return "image"+s; } 

当我朗读代码时,我期待带有src =“image10”的HTML图像标记将呈现。

但为什么没有发生? 任何线索?

我在asp.net。 不是mvc

在aspx页面中

  

在cs文件中使用此

 protected void Page_Load(object sender, EventArgs e) { ImgProduct.DataBind(); } protected void ImgProduct_DataBinding(object sender, EventArgs e) { ImgProduct.ImageUrl = "Image pathe + name"; } 

<%# .. %>仅在数据绑定期间应用。 一种解决方案是手动调用DataBind()

尝试

 protected void Page_Load(object sender, EventArgs e) { ImgProduct.DataBind(); } 

您必须调用Page.DataBind()Control.DataBind() 。 否则,将不会评估<%#%>块。

为什么所有的数据绑定内容都只是尝试下面的内容。

 protected void Page_Load(object sender,EventArgs e) { if(!IsPostBack) { ImgProduct.ImageUrl = FormatImageUrl("10"); } } protected string FormatImageUrl(string s) { return "image"+s; } 

我不明白,它对你进行数据绑定或在代码后面编写代码有什么不同。 保存几个击键?? 在Codebehind上观察Object而不是Data Binding表达式模型也会非常容易