【问题标题】:How to consume ASP.NET (Razor) User Control OR MVC User Control in Layout Page? [duplicate]如何在布局页面中使用 ASP.NET (Razor) 用户控件或 MVC 用户控件? [复制]
【发布时间】:2011-03-05 10:40:43
【问题描述】:

可能重复:
MVC 3: Add usercontrol to Razor view

从两个世界创建用户控件很简单:ASP.NET+Razor 或 MVC 3.0。

但我不知道如何从剃须刀“_layout.chtml”页面使用用户控件。

我想把这样的东西放在布局页面中:

<uc:MyTag Prop1="" Prop2="" />

所以我需要在布局文件的顶部声明这个指令:

<%@ Register TagPrefix="uc" TagName="MyTag" Src="Controls/Mytag.ascx" %>

但它不起作用,请帮助!!!! 剃须刀“_layout.chtml”页面中似乎不允许

谢谢

【问题讨论】:

  • 您的标题令人困惑。您是否尝试使用 Razor 在 MVC3 应用程序中使用 Web 窗体用户控件?
  • 这个问题已经被问到/回答了here

标签: asp.net asp.net-mvc-3 razor


【解决方案1】:

您可以像这样添加共享视图

Html.RenderPartial("Mytag", model);

【讨论】:

  • 谢谢,但是 Html.RenderPartial 在 ASP.NET+Razor 中不存在,并且它在 MVC 3 下不起作用,因为 MVC 没有找到正确的扩展方法来调用。
  • 它适用于剃须刀@Html.Partial("RoundCornersBottom")
  • 也许,我创建的用户控件很糟糕,名为“MyTag.ascx”的文件是在 Views/Shared/MyTag.ascx 下创建的。它包含 2 行:(1) (2) Hello from my user control
  • 嗯,我不知道它是否适用于 ascx 文件,但适用于 schtml
【解决方案2】:

如果我的假设是正确的,即您正在尝试使用 Razor 视图引擎(两个单独的实体)在 MVC 中使用 Web 窗体用户控件,那么我会看看 something like this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-17
    • 2010-11-28
    • 1970-01-01
    • 2013-11-09
    • 2010-09-06
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多