C# .NET 4.0 Obtenga el valor de una ID de un elemento web leyendo la página .aspx con FileStream o StreamReader

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

Pregunta

Así que aquí está el problema que estoy escribiendo un programa que verá a través de la carpeta en LocalHost antes de que se represente. Quiero poder obtener el valor de la identificación de un elemento web y almacenarlo en un objeto de lista.

Por ejemplo, tengo una página:

<html>
<body>

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

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

</body>
</html>

El programa irá a C: WebFolder Page.aspx y luego leerá el archivo y encontrará todos los CustomControl en la página y luego obtendrá el tipo de control (MyPhoneValidationControl o MyEmailValidationControl) y luego asigne el valor de la ID (PhoneValidator, correo electrónico Validator) como propiedad del objeto de control.

Estoy usando C#.NET 4.0. Obtener la identificación del elemento es fácil después de que se representa la página, pero no muestra que sea un control personalizado. Para ver el control personalizado, debe mirar el archivo .aspx sin que sea renderizado por un servidor web (IIS, etc.)

¿Fue útil?

Solución

Me resolví esto metiendo los datos de la página en una cadena y luego usando

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)
}

Esto atrapa el control a una lista y luego puedo analizar la lista de cadenas para obtener el tipo e ID usando Regex en las propiedades después de pasar la lista de control completa al constructor de controles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top