Reputation: 1
I have following tags to select date first is for day,second for month and third for year
<select id="d" class="styledselect-day" tabindex="6">
<option value="">dd</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="m" class="styledselect-month" tabindex="7" >
<option value="">mm</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
<select id="y" class="styledselect-year" tabindex="8">
<option value="yyyy">yyyy</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option>
</select>
And following is JS code, using which i am sending information to controller. Where i am storing these information in Session
$.ajax({
type: "POST",
url: "@Url.Action("AcceptPersonalInfo","Register")",
data: { dateDay: $("#d").val(), dateMonth: $("#m").val(), dateYear: $("#y").val() },
success: function () {
$("#contentSpan").load("/Register/ContactInfo");
}
});
Following is Session code
public void AcceptPersonalInfo(string dateDay, string dateMonth, string dateYear) //
{
Session["DateDay"] = dateDay;
Session["DateMonth"] = dateMonth;
Session["DateYear"] = dateYear;
}
Then i have to store date in DateTime object to save into databse.
p.DOB = Convert.ToDateTime(Convert.ToInt32(Session["DateMonth"]) + Convert.ToInt32(Session["DateDay"]) + Convert.ToInt32(Session["DateYear"]));
But it is not converting it into datetime. "p.DOB" is of DateTime type. Pls help why conversion failed.
Upvotes: 0
Views: 131
Reputation: 17118
That is because you are converting an int
. You forgot to add separator:
p.DOB = Convert.ToDateTime(
Convert.ToInt32(Session["DateMonth"]) + "/" +
Convert.ToInt32(Session["DateDay"]) + "/" +
Convert.ToInt32(Session["DateYear"]));
Upvotes: 0
Reputation: 1291
Actually you are adding all integers thats why you are not getting. try below code
string date = Session["DateMonth"].Tostring() + "-" + Session["DateDay"] + "-" + Session["DateYear"];
p.DOB=Convert.ToDateTime(date);
Upvotes: 1
Reputation: 17604
You can use
p.DOB=new DateTime(Convert.ToInt32(Session["DateYear"]),
Convert.ToInt32(Session["DateMonth"]),
Convert.ToInt32(Session["DateDay"]));
Upvotes: 0