Jag hoppas att någon vänlig själ vill förbarma sig över mig och mitt problem. Vad händer i ditt flöde om t.ex. Tack Tamas men Miss av mig, raden ska förstås varaProblem med DateTime
<code>
if (Request.Cookies["saw"] != null)
if (Request.Cookies["saw"]["sVoted"] != null)
{
Page.Title = "Felet var inte där";
t1 = Request.Cookies["saw"]["sVoted"].ToString();
t2 = DateTime.Now.ToString("yyyy-MM-dd");
}
if (DateTime.Compare(DateTime.Parse(t1), DateTime.Parse(t2)) > 0)
RadioButtonList1.Enabled = false;
else if (DateTime.Compare(DateTime.Parse(t1), DateTime.Parse(t2)) == 0)
RadioButtonList1.Enabled = false;
if (DateTime.Compare(DateTime.Parse(t1), DateTime.Parse(t2)) < 0)
RadioButtonList1.Enabled = true;
</code>
..och error
<info>
Strängen identifierades inte som en giltlig DateTime-sträng
</info>
Hur löser jag det?Sv: Problem med DateTime
Request.Cookies["saw"] != null
och Request.Cookies["saw"]["sVoted"] == null
eller Request.Cookies["saw"]["sVoted"] == "Balalajka"
?
Då har t1 och t2 (utifrån den kod du postat) sannolikt inte de värden de bör ha och raden
if (DateTime.Compare(DateTime.Parse(t1), DateTime.Parse(t2)) > 0)
kommer smälla.
Du kan ju istället göra nåt i stil med
if(Request.Cookies["saw"]["sVoted"] != null)
{
DateTime d1;
if(!DateTime.TryParse(Request.Cookies["saw"]["sVoted"].ToString(), d1))
{
lblErrorMeddelande.Text = "Det gick inte att konvertera strängen \"" + Request.Cookies["saw"]["sVoted"].ToString() + "\" till ett DateTime-objekt";
RadioButtonList1.Enabled = False; // eller True?
}
else
{
RadioButtonList1.Enabled = (DateTime.Now > d1);
}
}
Sv:Problem med DateTime
error:
<info>
The best overloaded method match for 'System.DateTime.TryParse(string, out System.DateTime)' has some invalid arguments//pekar på DateTime
Argument '2' must be passed with the 'out' keyword//pekar på d1
</info>
Därimot så löste det sig så här:
<code>
if (Request.Cookies["saw"] != null)
if (Request.Cookies["saw"]["sVoted"] != null)
{
string st1 = Request.Cookies["saw"]["sVoted"].ToString();
string st2 = DateTime.Now.ToString("yyyy-MM-dd");
if (DateTime.Compare(DateTime.Parse(st1), DateTime.Parse(st2)) > 0)
RadioButtonList1.Enabled = false;
else if (DateTime.Compare(DateTime.Parse(st1), DateTime.Parse(st2)) == 0)
RadioButtonList1.Enabled = false;
if (DateTime.Compare(DateTime.Parse(st1), DateTime.Parse(st2)) < 0)
RadioButtonList1.Enabled = true;
}
</code>
..det är märkvärdigt, jag har suttit i många timmar med det här, men strax efter jag hadde
skickat in frågan så löste det sig.Sv: Problem med DateTime
<code>
if(!DateTime.TryParse(Request.Cookies["saw"]["sVoted"].ToString(), out d1))
</code>