- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Razor 中创建了一个专门用于显示货币的显示模板,现在我想在我的代码中删除它并替换为接受字符串格式(我可以将其设置为“C”)的标准文本显示模板。
然而,出现了很多次,所以我想使用类似 [Obsolete] 属性的警告消息,以允许在接下来的几周内完成此操作,而不会破坏所有代码。
这是可能的还是有等效的方法?
干杯,
亚当。
最佳答案
貌似不是:(
DisplayTemplates 是通用的,例如:
@Html.DisplayFor(model => model.Foo)
要使用[Obsolete]
,您必须标记 DisplayFor 方法,该方法将应用于所有方法。我试图创建一个“更具体”的版本,看看它是否会选择它(因为你可以将其标记为 [Obsolete]
,如下所示:
public static class MyExtensions
{
[Obsolete]
public static MvcHtmlString DisplayFor<TModel, DateTime>(this HtmlHelper<TModel> html, Expression<Func<TModel, DateTime>> expression)
{
return html.DisplayFor(expression);
}
}
遗憾的是,这没有用 - 它给出了以下错误:
Compiler Error Message: CS0121: The call is ambiguous between the following methods or properties: 'MvcApplication11.Models.MyExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' and 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)'
所以我认为您无法使用[Obsolete]
实现您需要的功能。如果您真的无法在 IDE 中选择对 DisplayFor 的调用,您可以尝试在模板中记录堆栈跟踪(因为您可以在其中执行任何 C#),然后运行应用程序。这不是万无一失的,但可能会有所帮助。
关于c# - 您可以 [过时] Razor 中的 DisplayTemplate 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7443462/
我需要显示存储在 ViewBag 中的日期,并且我需要使用 DisplayTemplate 来实现此目的。现在,如果它是模型中的日期,我将使用 DisplayFor 助手,但我该如何为 ViewBag
我想为 DateTime 属性创建一个 DisplayTemplate。 例如我有以下模型: public class MyModel { [DataType(DataType.Date)]
我在一个新的 MVC4 站点上安装了 Mini-Profiler,并注意到某些 Find: DisplayTemplates 的等待时间很长包括字符串和日期时间。下面是一个例子。在另一个问题中,Sam
应用程序是一个带有 RAZOR View 引擎的 MVC3 应用程序。 这里使用的 Controller 是 TestController。 我正在使用嵌套 View 。 基本 View (项目列表)
我有这个样本 @Html.DisplayFor(modelItem => item.Expires, "DateTimeToDate" ) DateTimeToDate 显示模板: @model Da
在 DisplayTemplates 文件夹中,每个类名称只能有一个 View ,因为类名称用作 view.cshtml 文件的名称。 但是,如果它们出现在不同的命名空间中,您可以在解决方案中使用相同
我使用 MVC4 并且在我的模型上有很多 DateTime? 类型的属性。 我想我可以创建一个 DisplayTemplate(在 Shared\DisplayTemplates 内),它可以按照我的
我为 Comment 创建了一个 DisplayTemplate类,并将其放在 Comment/DisplayTemplates/Comment.cshtml 中. Comment.cshtml输入正
我在 Razor 中创建了一个专门用于显示货币的显示模板,现在我想在我的代码中删除它并替换为接受字符串格式(我可以将其设置为“C”)的标准文本显示模板。 然而,出现了很多次,所以我想使用类似 [Obs
您能否将 MVC 指向默认文件夹(Views/Shared/EditorTemplates 和 Views/Shared/DisplayTemplates)以外的文件夹?我想将它们放在这些文件夹下面的
有没有人知道如何将编辑器和显示模板的母版页与 Razor 一起使用,类似于 Brad Wilson 在此记录的内容? http://bradwilson.typepad.com/blog/2009/1
如何在 Visual Studio 中找到单个假设编辑器模板的用法?或者也许在其他方向,我如何转到使用 EditorFor 呈现的模板? 最佳答案 有一种解决方法/帮助。如果您安装了 Visual S
我有一个 View 迭代一个集合并为集合中的每个元素调用 DisplayFor()。 我需要手动迭代(而不是将集合传递给 DisplayFor)以便告诉模板是否应该绘制列表中的中断。列表中的项目只有
为了学习 DisplayTemplates,我创建了一个“String”DisplayTemplate,如下所示。期望在模型的字符串值之后附加单词“Hello”。但它只显示“你好”这个词。我们如何纠正
我是一名优秀的程序员,十分优秀!