我有像
这样的图片标签<asp:Image ID="ImgProduct" runat="server" ImageUrl='<%# FormatImageUrl("10")%>' />
在代码背后我有 像
这样的方法protected string FormatImageUrl(string s)
{
return "image"+s;
}
当我朗读代码时,我期待带有src =“image10”的HTML图片代码 将呈现。
但没有任何反应 为什么? 任何线索?
我在asp.net。不是mvc
答案 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表达式模型