1

だからここに、レンダリングされる前にローカルホスト上のフォルダーを調べるプログラムを書いている問題があります。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 を取得するのは簡単ですが、それがカスタム コントロールであることは示されません。カスタム コントロールを確認するには、Web サーバー (IIS など) によってレンダリングされることなく、.aspx ファイルを確認する必要があります。

4

1 に答える 1

2

ページデータを文字列に詰め込んでから使用することで、これを解決しました

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 を取得できます。

于 2011-09-13T18:19:33.910 に答える