2

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

更具体地说,假设我正在使用具有 Title 属性(字符串)的“上传”类的对象。上传对象也可以具有“文件”属性(对象)。每个 File 对象都有一个 Url 属性(字符串)。

我可以像这样访问标题:

<%# ((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 回答