如何在aspx页面上访问子对象的字符串?

时间:2012-05-31 11:13:55

标签: c# asp.net repeater child-objects

我正在尝试使用具有子对象的类,该对象具有字符串 - 我正在尝试使用我的aspx页面上的内嵌C#代码来访问它。

更具体地说,假设我正在使用具有Title属性(String)的'Upload'类对象。 Upload对象也可以具有'File'属性(对象)。每个File对象都有一个Url属性(String)。

我可以这样访问标题:

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

工作正常。但是,我如何访问文件的URL?因为以下内容不起作用:

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

正如您可以从语法中猜测的那样,这都是在asp转发器中。

3 个答案:

答案 0 :(得分:3)

你可能会尝试像

这样的东西
<%# Bind("File.Url") %>

<%# DataBinder.Eval(Container.DataItem, "File.Url") %>

答案 1 :(得分:3)

试试这个:

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

你得到容器dataitem&amp;施展它。一旦你拥有了这个对象,就可以调用它的属性&amp;任何其他对象的方法

答案 2 :(得分:1)

我只是给你一个样本,你可以自己动手: -

  1. 首先创建服务器端代码以返回文件的URL。
  2. 然后从客户端调用该函数以获取传递给它的标题的URL。
  3. 下面是一个返回带后缀点

    的文本的示例

    步骤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 ='&lt;%#ReturnDotSuffix((string)DataBinder.Eval(Container.DataItem,“MessageTitle”),8,170)%&gt;'

    在您的情况下也可以这样做。