从JavaScript函数获取值到我的ASP.NET / C#Code-Behind

时间:2015-05-06 18:33:12

标签: javascript c# jquery asp.net

我在这个地方找到了一个日期和时间选择器的代码片段: Date and Time Picker

由于某些原因,我没有设法将它插入到我的代码中,所以我只是在底部使用了演示代码并将其粘贴到我的ASP.NET网站中,这就是代码:

// Head

<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="http://tarruda.github.com/bootstrap-datetimepicker/assets/css/bootstrap-datetimepicker.min.css">

// Body

<div id="datetimepicker" class="input-append date">
    <input type="text"></input>
    <span class="add-on">
        <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
    </span>
</div>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/js/bootstrap.min.js">
</script>
<script type="text/javascript" src="http://tarruda.github.com/bootstrap-datetimepicker/assets/js/bootstrap-datetimepicker.min.js">
</script>
<script type="text/javascript">
    $('#datetimepicker').datetimepicker({
        format: 'dd/MM/yyyy hh:mm',
        pickSeconds: false,
        language: 'en'
    });
</script>

它工作正常,我可以在我的页面中看到并选择日期和时间,但是如API所述,为了获得我的Code-Behind的时间,我必须使用这个JavaScript函数:

picker.getLocalDate();

问题在于它是一个JavaScript函数,显然会返回一些数据,我不知道如何将它放到我的C#代码中,我到处寻找并找到了一些没有解决的问题锻炼。

希望你能告诉我该怎么办才能得到它,谢谢!

2 个答案:

答案 0 :(得分:3)

将此代码添加到java脚本:

document.getElementsByName('mydate').value = picker.getLocalDate();

在表单标记之间添加此代码:

<asp:HiddenField ClientIDMode="Static" runat="server" id="mydate" />

在您的代码中使用此代码:

string myDate = mydate.Value;

但请注意在所有元素之后使用javascript。

答案 1 :(得分:1)

你有几种方法,你没有表明你的技术,所以我将介绍几种方法。

  • 隐藏
  • 的Ajax
  • 查询字符串
  • RUNAT

最简单的方法是隐藏或runat。为了演示,我将从runat方法开始:

// Front End:
<input type="text" id="txtDate" runat="server" />

// Back End:
Console.WriteLine(txtDate.Value);

因此,在这种情况下,如果您的JavaScript修改了文本框,当您的服务器端代码运行时,它将调用该字段上的值。

此方法类似于HiddenFieldHidden。将值存储在容器中,该容器暴露给服务器以便于从客户端传输到服务器。

<asp:HiddenField id="hdDate" runat="server" />
<input type="Hidden" id="hdDate" runat="server" />

无论您使用哪一个,服务器都可以访问。您只需要让JavaScript附加一个值。

另外两种方法,更适用于服务。当您调用另一个页面或控制器时,您实际上有一个参数。确实,这将允许您传输数据。

但是,我不确定这些是否是您实际需要的方法。查看文档后,这应该可以解决您的问题:

// Front End:
<div id="datetimepicker" class="input-append date">
    <input type="text" id="txtDate" runat="server"></input>
    <span class="add-on">
        <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
    </span>
</div>

// Back End:
var example = txtDate.Value;