加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 将html标记传递给ASP.NET用户控件

发布时间:2020-12-16 03:52:10 所属栏目:asp.Net 来源:网络整理
导读:在以下示例中, uc1:MyUserControl pthis is html/p/uc1:MyUserControl 如何访问“ p这是html / p”作为MyUserControl中的字符串,以便我可以将其注入响应中? 我不是在谈论传递一个字符串参数,如 uc1:MyUserControl myparameter =“ p这是html / p” /,但是
在以下示例中,

<uc1:MyUserControl>

   <p>this is html</p>

</uc1:MyUserControl>

如何访问“< p>这是html< / p>”作为MyUserControl中的字符串,以便我可以将其注入响应中?

我不是在谈论传递一个字符串参数,如< uc1:MyUserControl myparameter =“< p>这是html< / p>” />,但是如何在开始和结束标记之间或通过< MessageTemplate>之类的其他机制访问真正的多行intellisensed HTML标记.标签.

在ASP.NET MVC 3中运行的解决方案的奖励积分!

编辑:

感谢StriplingWarrior和this link作为缺失的拼图,魔术制作:

所以,在任何观点:

<%@ 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>

在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>

最后,在Ribbon.ascx.cs中(需要手动添加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; }
    }
}

将渲染为:

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

解决方法

在典型的WebForms控件中,HTML将自动放入MyUserControl的Controls集合中的Literal控件中.具有模板属性的控件的工作方式略有不同,但您仍然可以通过您正在使用其名称的属性(例如MessageTemplate)以类似的方式访问它.

MVC的工作方式完全不同,我不知道是否有办法做你在那里问的问题.您可能需要考虑使用javascript来分析实际上在客户端呈现的内容,如果它不适合您.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读