如何使用asp C#从日期范围选择器中获取值
Posted
技术标签:
【中文标题】如何使用asp C#从日期范围选择器中获取值【英文标题】:How to get values from daterange picker using asp C# 【发布时间】:2018-12-17 08:09:10 【问题描述】:我试图从日期范围选择器、范围、startDate 和 endDate 中获取值。 我的内容模板中有我的部分代码 .ascx
<asp:TextBox ID="reportrange" runat="server" CssClass="DatepickerInput" />
<script type="text/javascript">
$(function ()
var start = moment().subtract(29, 'days');
var end = moment();
function cb(start, end)
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
$('.DatepickerInput').daterangepicker(
startDate: start,
endDate: end,
ranges:
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
, cb);
cb(start, end);
);
在我的 File.cs 我有这个
string value = reportrange.values;
【问题讨论】:
有控制台reportrange的值吗? 这些值纯粹保存在 JavaScript 对象中,当您将表单发布到服务器时,它们不会随表单一起提交。发送到服务器的唯一值是文本框本身的实际值,即用户选择的日期。因此无法从 C# 访问它们。您必须做一些额外的事情才能将它们发送到那里,例如将值复制到隐藏字段中,或通过 AJAX 或其他方式发送它们。再说一次,您正在硬编码范围等的计算,它们是可预测的(不是基于用户数据),因此您可以使用 C# 重复相同的计算。 【参考方案1】:我解决了我的问题如下 将日期选择器范围转换为文本框并获取文本
<asp:TextBox id="reportrange" runat="server" CssClass="DatepickerInput" Text=" " style="width:100%"></asp:TextBox>
以及背后的代码 获取文本并拆分开始日期,结束日期
string date= reportrange.Text;
string d_start= (date.Split('-'))[0];
string d_end = (date.Split('-'))[1];
string start= d_start + " 00:00:00.000";
string end= d_end + " 23:59:59.999";
【讨论】:
以上是关于如何使用asp C#从日期范围选择器中获取值的主要内容,如果未能解决你的问题,请参考以下文章