C#.NET 4.0 FileStreamまたはStreamReaderを使用して.aspxページを読んでWeb要素のIDの値を取得します
-
29-10-2019 - |
質問
それで、以下は、LocalHostがレンダリングされる前にLocalHostのフォルダーを調べるプログラムを書いている問題です。 Web要素のIDの値を取得し、リストオブジェクトに保存できるようにしたいと思います。
たとえば、ページがあります:
<html>
<body>
<CustomControl:MyPhoneValidationControl ID="PhoneValidator" validationgroup="PageValidation" />
<CustomControl:MyEmailValidationControl ID="EmailValidator" validationgroup="PageValidation" />
</body>
</html>
プログラムはC: webfolder page.aspxに移動し、ファイルを読み取り、ページ上のすべてのカスタムコントロールを見つけて、コントロールタイプ(myphonevalidationcontrolまたはmyemailvalidationcontrol)を取得し、IDの値(PhoneValidator、EmailValidator)を割り当てます。制御オブジェクトのプロパティとして。
C#.NET 4.0を使用しています。ページがレンダリングされた後、要素のIDを取得するのは簡単ですが、カスタムコントロールであることを示していません。カスタムコントロールを確認するには、Webサーバー(IISなど)によってレンダリングされることなく、.aspxファイルを確認する必要があります。
解決
ページデータを文字列に詰めて使用することで、これを解決しました
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)
}
これにより、リストへのコントロールがキャッチされ、コントロールリスト全体をコントロールコンストラクターに渡した後、プロパティのRegexを使用してタイプとIDを取得するために文字列リストを解析できます。
所属していません StackOverflow