2013-04-09 148 views
0

我有以下標籤先選擇日期是一天,第二個用於月份和第三的一年轉換爲DateTime

<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> 

而且下面是JS代碼,使用它我發送信息到控制器。當我在會議

$.ajax({ 
         type: "POST", 
         url: "@Url.Action("AcceptPersonalInfo","Register")", 
         data: { dateDay: $("#d").val(), dateMonth: $("#m").val(), dateYear: $("#y").val() }, 
         success: function() { 
          $("#contentSpan").load("/Register/ContactInfo"); 
         } 
        }); 

隨着存儲這些信息是會話代碼

public void AcceptPersonalInfo(string dateDay, string dateMonth, string dateYear) // 
     { 
      Session["DateDay"] = dateDay; 
      Session["DateMonth"] = dateMonth; 
      Session["DateYear"] = dateYear; 

     } 

那我也存儲在DateTime對象日期保存到DATABSE。

p.DOB = Convert.ToDateTime(Convert.ToInt32(Session["DateMonth"]) + Convert.ToInt32(Session["DateDay"]) + Convert.ToInt32(Session["DateYear"])); 

但它沒有將其轉換爲日期時間。 「p.DOB」是DateTime類型。請幫助爲什麼轉換失敗。

回答

0

您可以使用

p.DOB=new DateTime(Convert.ToInt32(Session["DateYear"]), 
        Convert.ToInt32(Session["DateMonth"]), 
        Convert.ToInt32(Session["DateDay"])); 
1

其實要添加的所有整數這就是爲什麼你沒有得到。 嘗試下面的代碼

string date = Session["DateMonth"].Tostring() + "-" + Session["DateDay"] + "-" + Session["DateYear"]; 
p.DOB=Convert.ToDateTime(date); 
0

那是因爲你正在轉換的int。您忘了添加分隔符:

p.DOB = Convert.ToDateTime(
    Convert.ToInt32(Session["DateMonth"]) + "/" + 
    Convert.ToInt32(Session["DateDay"]) + "/" + 
    Convert.ToInt32(Session["DateYear"]));