我有以下标签,首先选择日期是白天,第二个是月份,第三个是年份
<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代码,用于向控制器发送信息。我在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");
}
});
以下是会话代码
public void AcceptPersonalInfo(string dateDay, string dateMonth, string dateYear) //
{
Session["DateDay"] = dateDay;
Session["DateMonth"] = dateMonth;
Session["DateYear"] = dateYear;
}
然后我必须在DateTime对象中存储日期以保存到数据库。
p.DOB = Convert.ToDateTime(Convert.ToInt32(Session["DateMonth"]) + Convert.ToInt32(Session["DateDay"]) + Convert.ToInt32(Session["DateYear"]));
但它没有将其转换为日期时间。 “p.DOB”是DateTime类型。请帮助转换失败的原因。
答案 0 :(得分:1)
实际上你正在添加所有整数,这就是你没有得到的原因。 尝试以下代码
string date = Session["DateMonth"].Tostring() + "-" + Session["DateDay"] + "-" + Session["DateYear"];
p.DOB=Convert.ToDateTime(date);
答案 1 :(得分:0)
您可以使用
p.DOB=new DateTime(Convert.ToInt32(Session["DateYear"]),
Convert.ToInt32(Session["DateMonth"]),
Convert.ToInt32(Session["DateDay"]));
答案 2 :(得分:0)
这是因为您正在转换int
。你忘了添加分隔符:
p.DOB = Convert.ToDateTime(
Convert.ToInt32(Session["DateMonth"]) + "/" +
Convert.ToInt32(Session["DateDay"]) + "/" +
Convert.ToInt32(Session["DateYear"]));