Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查字符串日期是否为星期一_C#_Asp.net - Fatal编程技术网

C# 检查字符串日期是否为星期一

C# 检查字符串日期是否为星期一,c#,asp.net,C#,Asp.net,我有一个表单,它有一个文本框,用户可以从日期选择器中选择并输入日期。我需要检查选定的日期是否在星期一 我现在的代码如下 string dateInput = txtStartDate.Text; DateTime dt = Convert.ToDateTime(dateInput); DayOfWeek today = dt.DayOfWeek; if (today != DayOfWeek.Monday) { Console.WriteLine("Day is not a monda

我有一个表单,它有一个文本框,用户可以从日期选择器中选择并输入日期。我需要检查选定的日期是否在星期一

我现在的代码如下

string dateInput = txtStartDate.Text;
DateTime dt = Convert.ToDateTime(dateInput);
DayOfWeek today = dt.DayOfWeek;

if (today != DayOfWeek.Monday)
{
    Console.WriteLine("Day is not a monday");
}

当我运行表单并选择非星期一的日期时,不会显示任何消息。我不确定我是否将其放在javascript或c函数中,也不确定代码是否正确。任何想法和评论都将不胜感激。

将您的代码更改为:

string dateInput = txtStartDate.Text;
        DateTime dt = Convert.ToDateTime(dateInput);
        DayOfWeek today = dt.DayOfWeek;

        if (today != DayOfWeek.Monday)
        {
            MessageBox.Show("Day is not a monday");
        }
你可以试试这个代码

this.ShowMessage("Day is not a monday", "red");

我能够用我的原始代码减去函数中的writeline来处理这个问题,这个函数在文本更改时被调用。我做了一个自动回复,然后使用了一个隐藏的面板,里面有一条警告信息。如果验证不正确,它将取消隐藏面板并显示消息,或者将其隐藏


我不知道这是否是最好的选择,所以如果其他人有更好或更干净的解决方案,我会尝试一下。谢谢大家的建议

现在,有两种方法可以实现这一点

调用JS标记以显示警报 创建自定义警报框并显示在代码隐藏中 JavaScript警报


Console.WriteLine用于控制台输出,而不是windows窗体或web窗体。根据您使用的堆栈,有多种显示消息的方式,您选择哪种方式取决于您希望在何处进行验证。在web应用程序中,通常使用javascript进行基本验证,然后再在服务器端进行验证。您还可以有一个POST web方法,该方法返回错误结果badrequest+验证错误,或者您可能希望在web表单中使用类似于提交处理程序的内容,然后将错误文本写入标签。。。有很多方法可以做到这一点。看起来这是可行的,但我认为我们需要更多的背景。这是在onload事件、验证触发器或其他地方吗?是的,需要更多信息。它是winforms、webforms还是像MVC这样像样的东西它使用哪个日期选择器?有几种可供选择,包括基于jQuery的。我想我需要一个函数,在输入时验证日期是否在星期一。这并不意味着表单无效,只是一条警告消息。不确定最好的方法,但我认为javascript可能是答案,但不确定如何做到最好。MessageBox是windows窗体特有的。该问题已标记为asp.net。代码只鼓励回答。请看。我确实尝试了js警报,效果很好。我最终做的有点不同,但我保留了代码以备将来参考。非常感谢你的想法。不客气,你也可以将答案标记为已被接受,因为这将有助于为社区中的其他人提供参考。很好的一天!!非常感谢,先生!!
    using System;
    using System.Web.UI;

    public partial class CheckMonday : Page
    {
       protected void Page_Load(object sender, EventArgs e)
       {
         CheckDate("Invalid Date");
       }

        private void CheckDate(string message)
        {

          string dateInput = txtStartDate.Text;
          DateTime dt = Convert.ToDateTime(dateInput);
          DayOfWeek today = dt.DayOfWeek;

          if (today != DayOfWeek.Monday)
          {
            Response.Write("<script>alert('" + message + "')</script>");
          }
         }
     }
<div runat="server" id="AlertBox" class="alertBox" Visible="false">
  <div runat="server" id="AlertBoxMessage"></div>
  <button onclick="closeAlert.call(this, event)">Ok</button>
</div>  
    using System;
    using System.Web.UI;

    public partial class CheckMonday : Page
    {
       protected void Page_Load(object sender, EventArgs e)
       {
         CheckDate("Invalid Date");
       }

        private void CheckDate(string message)
        {

          string dateInput = txtStartDate.Text;
          DateTime dt = Convert.ToDateTime(dateInput);
          DayOfWeek today = dt.DayOfWeek;

          if (today != DayOfWeek.Monday)
          {
             MessageBoxShow(message);
          }
         }

         private void MessageBoxShow(string message)
         {
           this.AlertBoxMessage.InnerText = message;
           this.AlertBox.Visible = true;
         }
     }