【发布时间】:2016-10-28 16:42:32
【问题描述】:
我有以下 DateTime 类型的扩展方法
public static class DateTimeHelper
{
public static DateTime ToCST(this DateTime dt)
{
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(dt, cstZone);
return cstTime;
}
}
这在具有 DateTime 对象的控制器中工作正常,但在视图中我想在 ViewBag 中使用它,就像这样:
@ViewBag.PrioritySummary.UpdateDttm.ToCST();
我收到以下错误:
“System.DateTime”不包含“ToCST”的定义 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“System.DateTime”不包含“ToCST”的定义 源错误: 第 8 行:日期时间 cstTime = TimeZoneInfo.ConvertTimeFromUtc(ViewBag.PrioritySummary.UpdateDttm, cstZone); 第 9 行:} 第 10 行:@ViewBag.PrioritySummary.UpdateDttm.ToCST();如何将 ViewBag 转换为 DateTime,以便在同一行中应用扩展方法?
我试过了:
@(DateTime)ViewBag.PrioritySummary.UpdateDttm.ToCST();
但这没有用。
【问题讨论】:
-
您是否添加了@using 语句以包含
.ToCST()方法所在的命名空间? -
@JLRishe 是的,例如,我可以在一块剃须刀中使用它。但我想在线完成
标签: c# asp.net-mvc datetime viewbag