2

文字列を持つ子オブジェクトを持つクラスを操作しようとしています-そして、aspxページのインラインC#コードでこれにアクセスしようとしています。

具体的には、Titleプロパティ(String)を持つ'Upload'クラスのオブジェクトを操作しているとしましょう。Uploadオブジェクトは、「File」プロパティ(オブジェクト)を持つこともできます。また、各FileオブジェクトにはUrlプロパティ(String)があります。

私は次のようにタイトルにアクセスできます:

<%# ((Upload)Container.DataItem)["Title"] %>

それはうまくいきます。しかし、ファイルのURLにアクセスするにはどうすればよいですか?以下は機能しないため:

<%# ((File)((Upload)Container.DataItem)["File"]).Url %>

構文から推測できるかもしれませんが、これはすべてaspリピーター内にあります。

4

3 に答える 3

4

あなたは次のようなことを試みるかもしれません

<%# Bind("File.Url") %>

また

<%# DataBinder.Eval(Container.DataItem, "File.Url") %>
于 2012-05-31T11:25:47.997 に答える
4

これを試して:

<%# ((Upload)Container.DataItem).File.Url %>

コンテナデータアイテムを取得してキャストします。オブジェクトを取得したら、他のオブジェクトと同じようにそのプロパティとメソッドを呼び出すことができます

于 2012-05-31T11:49:00.040 に答える
1

私はあなたにサンプルを与えているだけです、あなたはあなた自身で同じものを実装することができます:-

  1. まず、ファイルのURLを返すためのサーバー側コードを作成します。
  2. 次に、クライアント側からその関数を呼び出して、同じものに渡されるタイトルのURLを取得します。

以下は、接尾辞ドットが付いたテキストを返す例です。

ステップ1:サフィックスドット付きのテキストを返すサーバー側コードを作成する

public string ReturnDotSuffix(string strValue, int iFontSize, int iWidth)

{
    string strReturnValue = string.Empty;
    try
    {
        CommonLib objCommonLib = new CommonLib();
        strReturnValue = objCommonLib.SuffixDots(strValue, iFontSize, iWidth);

    }
    catch (Exception ex)
    {
        HandleException.ExceptionLogging(ex.Source, ex.Message, true);
    }
    return strReturnValue;
}

ステップ2:クライアント側からこれを呼び出します。

Text ='<%#ReturnDotSuffix((string)DataBinder.Eval(Container.DataItem、 "MessageTitle")、8,170)%>'

あなたの場合も同じことができます。

于 2012-05-31T11:31:05.823 に答える