2

Eval()VB.NET および ASP.NETを使用してイメージをバインドしようとしていますが、問題が発生しています。

コードスニペット

<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

4

4 に答える 4

5

単に使用する

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

imagepath は datatable または cs からのものである可能性があります

于 2010-05-08T21:13:22.687 に答える
1

私は個人的にこれらのことをコードビハインドで直接行うことを好みます

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

コードビハインドには、initialize または DataBind() メソッドを記述します。

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

これは、特にチームで開発する場合、人々が Eval(...) を直接使用して ASPX コードでいくつかのバインディングを行い、コードビハインドでいくつかのバインディングを行うと、非常に不便でエラーが発生しやすいためです。ASPxコードはレイアウト、コントロールの定義(プロパティ付き)などのためだけですが、コードを見るだけでページで何が起こっているのかをすぐに確認できるため、コードビハインドを使用することを好みます...

于 2009-07-16T06:09:42.913 に答える
0
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

于 2009-07-16T05:41:31.800 に答える
0

定数の場合は、次のように記述できますか (これが間違っている場合はご容赦ください)。

<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 = "...";
于 2009-07-16T06:04:25.187 に答える