[英]How can I compare two Lists against each other and set the pixels values accordingly using C#?
[英]How can i get values from 2 dropdown lists and compare them as a date in C#
我有2个下拉列表,分别显示月份和年份。 我可以验证它,并检查它是否小于JS中的某个日期,但是现在我想在服务器端进行操作,但是我无法弄清楚如何传递所选值并将它们转换为日期函数。
UPDATE:
这是我的HTML / ASP.Net
<asp:CustomValidator ID="CustomValidatorED" runat="server"
ErrorMessage=" *Enter a valid Expiry Date" Display="Dynamic" CssClass="error"
ClientValidationFunction="ValidateED"
OnServerValidate="CustomValidatorED_ServerValidate"></asp:CustomValidator>
这是我的背后的代码,它是不完整的C#:-
protected void CustomValidatorED_ServerValidate(object source, ServerValidateEventArgs args)
{
var x = EDY.SelectedValue;
var y = EDM.SelectedValue;
var z = x + y;
var pppp = Convert.ToInt32(z);
DateTime entereddate = new DateTime(pppp);
DateTime d = DateTime.Now;
var r = d.Month;
var p = d.Year;
var kkkk = r + p;
DateTime todaysdate = new DateTime(kkkk);
int result = DateTime.Compare(entereddate, todaysdate);
if (result < 0)
{ args.IsValid = true; }
else
{ args.IsValid = false; }
}
`EDY = Years Drop Down`
`EDM = Months Drop Down`
我知道我犯了一些明显的错误,但是即使日期正确,此函数也会被调用,因此,如果输入的日期小于今天的日期,则应该显示错误,而其他时间不会。
主要是想修正我的代码以使其正常工作,因为我比较输入的MM / YYYY和今天的MM / YYYY
DateTime dtime1 = new DateTime(Convert.ToInt32(ddl1.SelectedValue));
DateTime dtime2 = new DateTime(Convert.ToInt32(ddl2.SelectedValue));
if(dtime1.equals(dtime2))
doSomething();
//Conversion to comparing Date
DateTime date1 = dtime1.Date;
DateTime date2 = dtime2.Date;
上面的代码确实可以满足您的要求。 允许您比较下拉列表中的两个值并将它们比较为DateTimes。
这样的事情。 如果您发现日期比较在时间等方面不起作用,则可能需要担心如何转换日期(即使用格式特殊化)。
protected void CustomValidatorED_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime currentDate = DateTime.Now;
DateTime chosenDate = Convert.ToDateTime(args.Value);
if (currentDate <= chosenDate)
{ args.IsValid = true; }
else
{ args.IsValid = false;}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.