我有一个带有文本框的表单,用户可以从日期选择器中选择该文本框并输入日期。我需要检查所选日期是否在星期一。
我当前的代码如下。
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#函数中,并且真的不确定代码是否正确。任何想法和评论都表示赞赏。
答案 0 :(得分:1)
现在,有两种方法可以实现
<Script>
标签以显示警报JavaScript警报
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>");
}
}
}
自定义AlertBox
<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;
}
}
答案 1 :(得分:0)
我能够使用我的原始代码减去在文本更改时调用的函数中的writeline来处理此问题。我做了一个自动回发,然后使用一个隐藏的面板在其中保存了警告消息。如果验证不正确,它将取消隐藏面板并显示消息,或者将其隐藏。
不知道这是否是最佳选择,因此,如果其他任何人有更好或更干净的解决方案,我都可以尝试一下。感谢大家的建议。
答案 2 :(得分:-1)
将代码更改为:
string dateInput = txtStartDate.Text;
DateTime dt = Convert.ToDateTime(dateInput);
DayOfWeek today = dt.DayOfWeek;
if (today != DayOfWeek.Monday)
{
MessageBox.Show("Day is not a monday");
}
答案 3 :(得分:-1)
您可以尝试使用此代码
this.ShowMessage("Day is not a monday", "red");