【问题标题】:C# .NET 4.0 Get the Value of an ID of a web element by reading the .aspx page with filestream or streamreaderC# .NET 4.0 通过使用 filestream 或 streamreader 读取 .aspx 页面来获取 Web 元素 ID 的值
【发布时间】:2011-09-12 21:48:28
【问题描述】:

所以这是我正在编写一个程序的问题,该程序将在呈现之前查看本地主机上的文件夹。我希望能够获取 Web 元素的 ID 值并将其存储在列表对象中。

例如我有一个页面:

<html>
<body>

<CustomControl:MyPhoneValidationControl ID="PhoneValidator" validationgroup="PageValidation" />

<CustomControl:MyEmailValidationControl ID="EmailValidator" validationgroup="PageValidation" />

</body>
</html>

程序将转到 C:\WebFolder\Page.aspx 然后读取文件并找到页面上的每个 CustomControl 然后获取控件类型(MyPhoneValidationControl 或 MyEmailValidationControl),然后分配 ID 的值(PhoneValidator , EmailValidator) 作为 Control 对象的属性。

我正在使用 C#.NET 4.0。呈现页面后获取元素的 ID 很容易,但它并不表明它是自定义控件。要查看自定义控件,您需要查看 .aspx 文件,而不是通过 Web 服务器(IIS 等)呈现它

【问题讨论】:

    标签: filestream webpage streamreader prerender


    【解决方案1】:

    我通过将页面数据填充到一个字符串然后使用来解决这个问题

    string page = new StreamReader(page).ReadToEnd();
    List<string> control = new List(string)();
    MatchCollection matchControl = Regex.Matches(text, "expression");
    foreach (Match match in matchControl)
    {
      control.Add(match.Value)
    }
    

    这会将控件捕获到一个列表中,然后我可以在将整个控件列表传递给控件构造函数后,使用属性中的正则表达式解析字符串列表以获取类型和 ID。

    【讨论】:

    • 您好,您可以根据您的要求发布示例代码如何找到标签和文本框
    猜你喜欢
    • 2012-03-08
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    相关资源
    最近更新 更多