【问题标题】:ASP.NET vbhtml with razor syntax gives wrong answer for DateTime.Now.DayOfWeek?带有剃刀语法的 ASP.NET vbhtml 为 DateTime.Now.DayOfWeek 提供了错误的答案?
【发布时间】:2016-07-28 05:26:18
【问题描述】:
<!-- Multi-statement block --> 
@Code
dim greeting = "Welcome to our site!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
End Code

<p>The greeting is: @greetingMessage</p> 

工作日显示“4”,这是当前月份,但单独使用时没有像这样的“&”

dim greetingMessage = weekDay

<p>@DateTime.Now.DayOfWeek</p>

然后它会显示正确的工作日。

【问题讨论】:

  • 你可以试试 & (weekDay) 吗?
  • 它总是返回 0-6 值或 1-7
  • 你到底想展示什么?
  • 您将获得 0-6 的值,周日为 0 ,... 周六为 6,所以今天是周四,您应该获得 4 的值,这是正确的
  • 它在没有'&'标签的情况下单独使用时会给出'Thursday',正如我在问题中提到的那样,并且相同的代码适用于带有+符号(c#)的vshtml。只有在 vbhtml 中它与 '&' 一起使用时才会返回一个数字。

标签: asp.net razor webmatrix


【解决方案1】:

两种方式都是一样的。在第一种情况下,4 不是月份。这是星期四的号码。使用 weekDay.ToString()。

 <!-- Multi-statement block -->
    @Code
        Dim greeting = "Welcome to our site!"
        Dim weekDay = DateTime.Now.DayOfWeek
        Dim greetingMessage = greeting & " Here in Huston it is: " & weekDay.ToString()
    End Code

【讨论】:

  • 试过但结果相同。我是学习者并使用 WebMatrix。代码“DateTime.Now.DayOfWeek”在没有“&”的情况下单独输入时可以正常工作,并且相同的代码在 vshtml 中也可以正常工作。只有 vbhtml 会出现问题
  • 使用 weekDay.ToString()。我只在 vbhtml 中尝试过。它工作正常
  • 是的,现在可以使用了 :) 谢谢!!但是,你知道为什么它返回整数值吗?它应该给出字符串值。相同的代码在不带“&”符号的情况下单独使用时在 cshtml 甚至在 vbhtml 中返回字符串值。
  • DayOfWeek 枚举的成员未本地化。要返回星期几的本地化名称,我们必须转换为字符串。
猜你喜欢
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多