相关疑难解决方法(0)

计算C#中的相对时间

给定一个特定DateTime值,我如何显示相对时间,如:

  • 2小时前
  • 3天前
  • 一个月前

c# time datetime datediff relative-time-span

1461
推荐指数
31
解决办法
15万
查看次数

我应该在ASP.NET MVC 3中放置声明性HTML帮助器

我正在尝试按照ScottGu的Razor帖子中的说明创建一个声明性的HTML Helper ,但我没有太多运气.我尝试在Views/Helpers中放置一个带有DateTimeHelper的Helpers.cshtml文件,但是它不会把它拿起来,所以我按照MVC 3 Beta帖子尝试了App_Code .现在它捡起来了,但是当我尝试在这样的文件中使用它时:

@DateTimeHelper(DateTime.Now)

编译器抱怨DateTimeHelper不存在.

一些奇怪的事情:如果我将文件重命名为DateTime.cshtml,我会得到一个不同的错误,关于我帮助器中的特定代码.

为了完整起见,这里是帮助者的代码:

@helper DateTimeHelper(DateTime t, bool longDate = true, bool showTime = true, bool longTime = true) {
    <time datetime='@t.ToUniversalTime()'>
        @if(longDate) {
            if(showTime) {
                if(longTime) {
                    @t.ToLongDateString() @t.ToLongTimeString();
                } else {
                    @t.ToLongDateString() @t.ToShortTimeString();
                }
            } else {
                @t.ToLongDateString()
            }
        } else {
            if(showTime) {
                if(longTime) {
                    @t.ToShortDateString() @t.ToLongTimeString();
                } else {
                    @t.ToShortDateString() @t.ToShortTimeString();
                }
            } else {
                @t.ToShortDateString()
            }
        }
    </time>
}
Run Code Online (Sandbox Code Playgroud)

帮助程序在某个视图中使用,如下所示:

@model dynamic

<div>
    <p> The …
Run Code Online (Sandbox Code Playgroud)

razor asp.net-mvc-3

14
推荐指数
1
解决办法
4426
查看次数

使用moment.js格式化ASP.NET MVC中的视图模型日期

我使用Razor作为ASP.NET MVC 5中的视图引擎.我的日期是从UTC的后端服务返回的.我想moment.js客户端上使用JavaScript(例如)格式化那些.我不想在服务器上这样做,因为我不想担心客户端在服务器端的时区(毕竟服务器并不在乎).

我认为从MVC,AJAX和Moment.js的Locale Date格式化,如果必须的话,有一些方法可以做这个服务器端,虽然我没有足够的信息让它得到解决,这不是我想做的事情无论如何.

ASP.NET MVC ViewModel映射与自定义格式在哪里是格式化ASP.NET MVC(3)中的模型属性的最佳位置?或者如何格式化asp.net中的日期mvc 5不起作用,因为那是服务器端(或者以某种方式我不理解?)

干净可靠地完成这项工作的"最佳"/"正确"方法是什么?

编辑:要清楚,我知道关于这moment.js方面的一切.如果我没有,我就不会给它命名.我要问的是ASP.NET MVC视图集成 - 我如何以"正确"的方式完成它?

编辑2:我知道如何编写脚本.我不知道的是,如果我有一个输出,从脚本变量,我如何获取该变量的内容到视图中显示给用户的信息?如果我可以提供帮助,我不想做像编辑HTML元素内容等的事情.这根本不干净.也许我应该更简单地说明这一点:

想象一下Razor的观点.该观点说:

@foreach (var item in Model) {
    <!-- something to do javascript manipulation of item -->
    <p>The result of manipulating @item.startDate is <!-- WHAT DO I DO HERE? --></p>
}
Run Code Online (Sandbox Code Playgroud)

评论是我现在不知道如何干净利落的.

asp.net-mvc razor

13
推荐指数
1
解决办法
1万
查看次数