我有以下剃刀代码,我希望有mm/dd/yyyy日期格式:
Audit Date: @Html.DisplayFor(Model => Model.AuditDate)
Run Code Online (Sandbox Code Playgroud)
我尝试了许多不同的方法,但这种方法都不适用于我的情况
我的AuditDate是一种DateTime?类型
我尝试过这样的事情并得到了这个错误:
@Html.DisplayFor(Model => Model.AuditDate.Value.ToShortDateString())
Run Code Online (Sandbox Code Playgroud)
附加信息:模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式.
试过这个:
@Html.DisplayFor(Model => Model.AuditDate.ToString("mm/dd/yyyy"))
Run Code Online (Sandbox Code Playgroud)
方法'ToString'没有重载需要1个参数
任何人都可以解释以下任何一种方法是否有任何好处:
decimal d = 12.0m;
// 1. how I'd have done it
myLabel.Text = d.ToString();
// 2. how I saw someone do it today
myLabel.Text = String.Format("{0}", d);
Run Code Online (Sandbox Code Playgroud)
只是为了澄清,我不是在质疑这些方法的作用,我显然对此感到高兴,就好像在这个具体的例子中,在一个方面可能有一个性能优势.我知道string.format()提供的文化和格式增加了灵活性,但我总是只是'tostring()'数字来将它们的值附加到标签或一般的基于文本的属性.
对我来说,string.format()选项似乎更多的打字,这里没有额外的好处,但我想知道是否有任何其他'引擎盖'的好处,一种方式与另一种方式.
我知道DateTime以自定义格式显示的标准程序,如下所示:
MessageBox.Show(dateSent.ToString("dd/MM/yyyy hh:mm:ss"));
但是,当我将变量从a更改DateTime为a DateTime?以接受空值时,我将失去ToString(string)重载的定义.我需要使用,DateTime?因为我正在从一个可能具有空值的数据库中读取 - 如果数据库中的字段具有空值,那么我还需要为变量赋值空值.
所以我有两个问题:
1)出于好奇,有没有人知道是否有一个DateTime?不包含过载的原因ToString(string)?
2)有人可以为我想要实现的目标建议一种替代方法吗?
有解决DateTime的问题?具体格式.喜欢:
DateTime t1 = ...;
string st1 = t1.ToString(format); //<-- works
DateTime? t1 = ...;
string st1 = t1.ToString(format); //Dont work.
Run Code Online (Sandbox Code Playgroud)
没有DateTime的重载方法?
可能重复:
如何使用ToString()格式化可空的DateTime?
'没有重载方法'ToString'取'1'参数'错误发生时格式化日期时间字段到字符串ON"dd-MM-yyyy"格式
我使用以下内容:
@Model.Modified.ToString("dd/MM/yyyy htt")
Run Code Online (Sandbox Code Playgroud)
但它给了我一个信息
ToString的重载方法没有一个参数
有谁知道什么可能是错的?
我有帮助,想要分别显示月和日
我试着这样做
@helper Render(Post post, System.Web.Mvc.HtmlHelper html, bool isAdmin, bool showComments)
{
<div class="postTitle"><a href="@Href("~/Views/Posts/Details/" + post.Id)">@post.Title</a></div>
<div class="postContainer">
<div class="postTabs">
<div class="dateTab">
<div class="month">@post.DateTime.Value.ToString("MMM").ToUpper()</div>
<div class="day">@post.DateTime.Value.ToString("dd")</div>
</div>
<div class="commentsTab">
<a href="@Href("~/Views/Posts/Details/"+post.Id + "#comments")">@post.Comments.Count</a>
</div>
</div>
<div class="postContent">
<div class ="postBody">@html.Raw(post.Body)</div>
<div class="tagList">
@foreach (Tag tag in post.Tags)
{
<span class="tag"><a href="@Href("~/Views/Posts/Tags" + tag.Name)">@tag.Name</a></span>
}
</div>
<div class="linkList">
@{ string url = "http://www.mattblagden.com/posts/details/" + post.Id;}
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
}
但我有错误
严重级代码描述项目文件行抑制状态错误CS1501方法'ToString'的重载不带1个参数6_AppCode_PostHelper.cshtml C:\ Users\Eugene\Source\Repos\vrv2\VrBlog\AppCode\PostHelper.cshtml 9活动
而这里的帖子类
public partial class Post
{ …Run Code Online (Sandbox Code Playgroud)