【问题标题】:Binding Eval with an ImageURL in ASP.NET在 ASP.NET 中将 Eval 与 ImageURL 绑定
【发布时间】:2009-07-16 05:34:16
【问题描述】:

我正在尝试使用 Eval() 将图像与 VB.NET 和 ASP.NET 绑定,但遇到了问题:

代码 sn-p

<bri:ThumbViewer Id="Th1"  runat="server" 
   ImageUrl='<%# Eval("Name", "~/SiteImages/ram/3/{0}") %>' 
   Height="100px" 
   Width="100px" 
 />

我在代码隐藏中将strImagePath 设置为:

strImagePath  ="~/SiteImages/ram/3/"

如何替换:

~/SiteImages/ram/3/{0} 

使用变量strImagePath?

【问题讨论】:

    标签: c# .net asp.net vb.net eval


    【解决方案1】:

    简单地使用

    <asp:Image id="abc" ImageUrl =<%# string.Format("~/SiteImages/ram/3/{0}",Eval("imagepath"))%>
    

    imagepath 可以来自 datatable 或 cs

    【讨论】:

    • string.Format(X, Eval(Y)) 和 Eval(Y, X) 一样
    【解决方案2】:

    我个人更喜欢直接在代码隐藏中做这些事情

    <bri:ThumbViewer ID="thumbViewer" runat="server" ... />
    

    然后在代码隐藏中你有一些你编写的初始化或 DataBind() 方法

    thumbViewer.ImageUrl= Path.Combine(ImagePath, Name); //or something similar, you have to check
    

    这是因为特别是当您在团队中开发时,如果人们直接使用 Eval(...) 在 ASPX 代码中进行一些绑定,而在代码隐藏中进行一些绑定,则非常不方便且容易出错。我更喜欢使用代码隐藏,因为这样您只需查看代码即可立即看到页面上发生的情况,而您的 ASPx 代码仅用于布局、控件定义(带有属性)等......

    【讨论】:

      【解决方案3】:
      string strImagePath = "aPage.aspx";
      string pathFormat = "~/SiteImages/ram/3/{0}";
      string path = String.Format(path, strImagePath);
      

      这有点冗长,但你明白了。您正在寻找的是 String.Format 方法。

      您可以在 MSDN 上阅读更多相关信息 -> String.Format

      所以你的情况是:

      <bri:ThumbViewer Id="Th1"  runat="server" ImageUrl='<%# Eval("Name", String.Format("~/SiteImages/ram/3/{0}", strImagePath)) %>' Height="100px" Width="100px"/>
      

      只要在您的代码隐藏中将strImagePath 设置为publicprotected

      【讨论】:

        【解决方案4】:

        如果它是恒定的,你能写(如果这是错误的,请原谅我):

        <bri:ThumbViewer ImageUrl='~/SiteImages/ram/3/<%# Eval("Name")%>' Height="100px" Width="100px" Id="Th1"  runat="server"/>
        

        如果不是:

        <bri:ThumbViewr ImageUrl='<#Eval("ImagePath + Name") %>' ... />
        
        //And in your codebehid:
        public property ImagePath { get; set; }
        ...
        ImagePath = "...";
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-26
          • 2016-02-13
          • 1970-01-01
          • 2014-02-21
          相关资源
          最近更新 更多