【问题标题】:Call code behind method from aspx page从 aspx 页面调用方法背后的代码
【发布时间】:2011-05-21 03:49:08
【问题描述】:

我有一个类似的图像标签

<asp:Image ID="ImgProduct" runat="server"    ImageUrl='<%# FormatImageUrl("10")%>' /> 

在我后面的代码中 像

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

当我朗读代码时,我期望带有 src="image10" 的 HTML 图像标签 将呈现。

但什么也没发生 为什么? 有什么线索吗?

我在 asp.net 中。不是mvc

【问题讨论】:

标签: c# asp.net


【解决方案1】:

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

试试

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

【讨论】:

    【解决方案2】:

    您必须致电Page.DataBind() 或Control.DataBind()。否则将不会评估 块。

    【讨论】:

      【解决方案3】:

      在 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";
      }
      

      【讨论】:

        【解决方案4】:

        为什么所有数据绑定的东西都试试下面的。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-09-30
          • 1970-01-01
          • 1970-01-01
          • 2012-09-27
          • 2020-08-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多