【问题标题】:Set the Document Source of an xml file in ASP.NET to a variable将 ASP.NET 中 xml 文件的文档源设置为变量
【发布时间】:2012-02-21 00:25:02
【问题描述】:

我是否可以在我的 asp xml 标签中调用orderedFiles,以便显示与orderedFiles 关联的文件?

编辑

是否可以用 xml 文档中的值替换当前文件路径?

【问题讨论】:

    标签: asp.net html xml vb.net


    【解决方案1】:

    您可以使用数据绑定在数据绑定时设置 DocumentSource 属性的值。首先,在您的代码隐藏中,创建一个公共或受保护的方法,该方法返回一个字符串,该字符串包含您要显示的文件的物理路径。在您的情况下,此方法将包含您列出的三行代码,并将返回 orderedFiles.FullName,这是最新文件的物理路径。假设这个方法叫做“GetFile()”,它应该看起来像这样:

    Public Function GetFile() As String
        Dim di As New DirectoryInfo("C:\Users\Simon\Desktop\XML Logs\")
        Dim files As FileSystemInfo() = di.GetFileSystemInfos()
        Dim newestFile = files.OrderByDesc(Function(f) f.CreationTime).First
        Return newestFile.FullName
    End Sub
    

    然后在您的标记中,使用数据绑定语法将 DocumentSource 属性分配给此方法调用的输出:

    <asp:Xml ID="xmlControl" runat="server" DocumentSource='<%# GetFile() %>' />
    

    最后,您需要确保通过在页面加载方法中的某个位置调用 Page.DataBind() 来启动页面上的数据绑定。

    如果你想很好地介绍数据绑定,可以看Dino Esposito的这篇文章

    【讨论】:

    • 感谢您的帮助,我似乎遇到了一些麻烦,我已经更新了到目前为止所做的事情,任何指针将不胜感激!
    • 我认为在 VB 中“Public Sub”相当于 void C# 方法。您希望该方法返回一个字符串值,因此您应该使用“公共函数”,然后使用 Return 关键字。我按答案更新以显示该方法的外观。
    • 似乎将其更改为公共功能会产生很大的不同!非常感谢您的帮助!
    • 是否可以使用相同的概念,但将文件路径设置为 xml 节点的值而不是预定义的值?
    • 我认为asp:XML服务器控件的DocumentSource属性必须设置为整个XML文件。如果您只想将控件绑定到 XML 文档的片段,您可能需要使用 DocumentContent 属性,该属性可以绑定到 XML 字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多