C#.NET 4.0 FileStreamまたはStreamReaderを使用して.aspxページを読んでWeb要素のIDの値を取得します

StackOverflow https://stackoverflow.com/questions/7394460

質問

それで、以下は、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を取得するために文字列リストを解析できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top