如何将可空的DateTime dt2转换为格式化的字符串?
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss")); //works
DateTime? dt2 = DateTime.Now;
Console.WriteLine(dt2.ToString("yyyy-MM-dd hh:mm:ss")); //gives following error:
Run Code Online (Sandbox Code Playgroud)
方法ToString没有重载需要一个参数
对于多语言ASP.NET MVC 3 Web应用程序,我正在确定Thread.CurrentThread.CurrentCulture和Thread.CurrentThread.CurrentUICulture控制器工厂,如下所示:
public class MyControllerFactory : DefaultControllerFactory {
protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType) {
//Get the {language} parameter in the RouteData
string UILanguage;
if (requestContext.RouteData.Values["language"] == null)
UILanguage = "tr";
else
UILanguage = requestContext.RouteData.Values["language"].ToString();
//Get the culture info of the language code
CultureInfo culture = CultureInfo.CreateSpecificCulture(UILanguage);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
return base.GetControllerInstance(requestContext, controllerType);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码已经快一年了!所以,我愿意接受建议.
我在Global.asax文件上注册这个,如:
ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());
Run Code Online (Sandbox Code Playgroud)
这样做很好,但我不确定这是否是做这种行为的最佳做法和最佳场所.
我没有挖掘主要角色,ControllerFactory我无法将其与之比较ActionFilterAttribute.
你怎么看待这种行动的最佳地点?
有没有办法删除日期格式中的前导零
例如,X.ToString("MM/dd/yy")返回07/02/11,但我希望它返回7/2/11.
这可能吗?
谢谢
我正在使用ASP.NET MVC 3.我创建了一个具有表单的强类型视图.在我的页面底部和ActionLink
@Html.ActionLink("Edit", "Edit", new { id = Model.UserId})
Run Code Online (Sandbox Code Playgroud)
这将允许用户编辑信息.当我运行应用程序时,我收到以下错误.
Compiler Error Message: CS0135: 'Model' conflicts with the declaration
'System.Web.Mvc.WebViewPage<TModel>.Model'
Run Code Online (Sandbox Code Playgroud)
这可能是什么.
我的 Razor 表单代码
<div class="form-group">
@Html.LabelFor(model => model.achPayDate, htmlAttributes: new { @class = "control-label col-md-7" })
@Html.DisplayFor(model => model.achPayDate, new {@class="date"})
</div>
Run Code Online (Sandbox Code Playgroud)
我的CS代码
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? achPayDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
当 achPayDate=0001-01-01T00:00:00 时显示 01/01/0001 ,我想将日期抑制为空白。我怎样才能做到这一点??
c# ×3
asp.net-mvc ×2
date ×2
datetime ×2
asp.net ×1
formatting ×1
nullable ×1
razor ×1
tostring ×1