【问题标题】:Path to EditorTemplates in ASP.NET MVCASP.NET MVC 中 EditorTemplates 的路径
【发布时间】:2010-10-16 14:18:18
【问题描述】:

如何告诉视图引擎在另一个 Web 项目的另一个区域中查找编辑器模板?

【问题讨论】:

标签: asp.net-mvc-2


【解决方案1】:

您可以在包含编辑器模板时指定路径:

<%: Html.EditorFor(x => x.SomeProp, "~/areas/somearea/views/editortemplates/test.ascx") %>

或者在模型属性上使用UIHint 属性。

【讨论】:

  • 我在我的模型上使用了 UIHint 属性,但似乎我的模板必须在主项目中?
【解决方案2】:

您是否尝试在 UIHintAttribute 中放置模板的完整路径(~/Areas/YourArea/Views/...)?

更新:

我假设代码(下面 cmets 中的链接)来自一个应用程序,而实际模板位于另一个应用程序中。恕我直言,这行不通。您可能想在应用程序之间共享模板,但我认为唯一有效的解决方案不是共享模板,而是将扩展方法添加到 HtmlHelper 并共享它们。

【讨论】:

  • @Marcus - 您是否将模板保存在共享文件夹中?
  • 我有两个不同的 Web 项目,因此模板文件夹不会在项目之间共享。目标是有一个仪表板项目/区域,我想使用我的主要项目/区域中的编辑器模板
  • @Marcus - 所以你应该改变你的问题 - 这不是关于重用来自另一个领域的模板,而是来自另一个项目!
  • 好吧,我认为这并不重要,因为我按照您应该的方式注册了该区域,但如果该区域在同一个项目中,asp.net 的工作方式可能会有所不同?
  • @Marcus - 你能发布你的 RegisterRoute 代码 - 你如何从另一个应用程序注册路由?
猜你喜欢
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多