【问题标题】:MVC 3 EditorTemplates not working on productionMVC 3 EditorTemplates 不适用于生产
【发布时间】:2011-09-21 00:59:22
【问题描述】:

在将我的应用程序部署到生产服务器时,我遇到了一个奇怪的问题。

我已使用编辑器模板创建日期选择器(将类添加到日期框并让 jquery 显示日期选择器)。

这非常适合我在本地 IIS 7 网络服务器上运行站点的开发(而不是开发 IIS express) 当我将应用程序部署到生产机器时,日期框显示为常规文本框,而不是日期选择器。

我可以检查生产机器上没有的东西会导致这类问题吗?

Views\Shared\EditorTemplates 文件夹中的 DateTime.cshtml:

@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })

有人有什么想法吗?

谢谢

【问题讨论】:

  • JQuery 肯定是在 prod 环境中加载的?做警报($);给你点什么?
  • Jquery 已加载。但它与 jquery 无关。输入没有收到模板中设置的类“datepicker”。如果我使用类 datepicker 手动添加输入,它工作正常。
  • 好的 - 当您执行 EditorFor(x=>x.DateTimeProperty) 时,会向该模板添加一些 fudd 文本?
  • 不,甚至没有。我试图在模板中添加一些测试数据,但这并没有显示以太。就好像他不承认这是一个 DateTime 字段。有趣的是,他在开发方面做得很好。这可能取决于 MVC 3 Dll 的版本吗?
  • 如果我是你,我会从 prod 中删除所有文件并尝试重新部署。有时东西会在搬家过程中丢失。或者您可以只检查产品上是否有模板?视图模型中的属性上没有 UiHint 吗?

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


【解决方案1】:

我已经能够解决问题。我在 VS2010 中使用了部署操作。我现在已经手动部署并将所有文件移动到网络服务器。这似乎奏效了。之后我从服务器中删除了所有代码文件,它继续工作

【讨论】:

  • 我遇到了同样的问题,这太荒谬了!只是 EditorTemplate 文件夹和内容没有被复制!!!多么奇怪!找到另一个解决方案了吗?
【解决方案2】:

也许这有点晚了,但您确定文件上的“构建操作”设置为“内容”。我们遇到了同样的问题,在我们的例子中它被设置为“无”。

【讨论】:

  • 奇怪的是它默认了!也解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
  • 2018-03-15
  • 2016-08-30
  • 2021-05-04
  • 2018-02-22
  • 2015-09-07
  • 1970-01-01
相关资源
最近更新 更多