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

时间:2011-05-21 03:49:09

标签: c# asp.net

我有像

这样的图片标签
<asp:Image ID="ImgProduct" runat="server"    ImageUrl='<%# FormatImageUrl("10")%>' /> 

在代码背后我有 像

这样的方法
protected string FormatImageUrl(string s)
{
return "image"+s;
}

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

但没有任何反应 为什么? 任何线索?

我在asp.net。不是mvc

4 个答案:

答案 0 :(得分:2)

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

尝试

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

答案 1 :(得分:2)

您必须致电Page.DataBind()Control.DataBind()。否则&lt;%#%&gt;块将不会被评估。

答案 2 :(得分:1)

在aspx页面中

<asp:Image ID="ImgProduct" runat="server" ondatabinding="ImgProduct_DataBinding" />
cs文件中的

使用此

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

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

答案 3 :(得分:1)

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

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表达式模型