繁体   English   中英

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

[英]How do I access a string of a child object on aspx page?

我正在尝试使用具有子对象的类,该子对象具有字符串-并且正在尝试通过aspx页面上的嵌入式C#代码访问此对象。

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

我可以这样访问标题:

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

很好 但是,我该如何访问文件的网址? 因为以下方法不起作用:

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

正如您可能从语法中猜测的那样,所有这些都在asp中继器中。

您可以尝试类似

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

要么

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

尝试这个:

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

您将获得容器数据项并将其转换。 一旦有了对象,就可以像调用其他对象一样调用它的属性和方法

我只是给您一个样本,您可以自己添加样本:-

  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)%>'

您的情况也可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM