En el siguiente ejemplo,Pasando el formato HTML en un control de usuario ASP.NET
<uc1:MyUserControl>
<p>this is html</p>
</uc1:MyUserControl>
Cómo accedo "<p>this is html</p>"
como una cadena dentro de MyUserControl modo que puede ser inyectarlo en la respuesta?
No estoy hablando acerca de pasar de un parámetro de cadena como <uc1:MyUserControl myparameter="<p>this is html</p>" />
, pero ¿Cómo accedo a la verdadera marcado HTML intellisensed multi-revestido, ya sea entre la apertura y cierre de etiquetas o mediante algún otro mecanismo tal como una etiqueta <MessageTemplate>
.
¡Puntos de bonificación para una solución que funciona en ASP.NET MVC 3!
EDIT:
Gracias a StriplingWarrior y this link como la pieza del rompecabezas que falta, se hizo la magia:
Por lo tanto, en cualquier vista:
<%@ Register src="../../Shared/Ribbon.ascx" tagname="Ribbon" tagprefix="uc1" %>
...
<uc1:Ribbon ID="Ribbon" runat="server">
<Content>
Hello world! I am <b>pure html</b> being passed into a UserControl!
</Content>
</uc1:Ribbon>
En Ribbon.ascx:
<%@ Control Language="C#" CodeBehind="Ribbon.ascx.cs" Inherits="NunYourBeezwax.Views.Shared.Ribbon" %>
<table>
<tr>
<td>I am reusable stuff that wraps around dynamic content</td>
<td><%= this.Content %></td>
<td>And I am stuff too</td>
</tr>
</table>
An d finalmente, en Ribbon.ascx.cs (necesidad de añadir manualmente en MVC)
using System.Web.Mvc;
using System.Web.UI;
namespace NunYourBeezwax.Views.Shared
{
[ParseChildren(true, "Content")]
public class Ribbon : ViewUserControl
{
[PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
public string Content { get; set; }
}
}
rendirá como:
<table>
<tr>
<td>I am reusable stuff that wraps around dynamic content</td>
<td>Hello world! I am <p>pure html<p> being passed into a UserControl!</td>
<td>And I am stuff too</td>
</tr>
</table>
¿Esto solo funciona en MVC? Estoy tratando de obtener algo similar para trabajar en un entorno sin MVC en vano, no estoy seguro de qué parte es específica de MVC? Sería genial si creó una respuesta que tiene su solución, o actualizó la respuesta aceptada para incluir su código. –