日期:2014-05-16  浏览次数:20465 次

.net控件页面处用js赋值后台接收不到数据的解决方案

  我的问题                                                                                                     

   我使用了

<asp:TextBox ID="txtEndDate" name="txtEndDate" ReadOnly="true" runat="server" onclick="J.calendar.get();"></asp:TextBox>
 目的是点击文本框弹出一个js的日期控件。如图1

(图1)

选取日期后后台使用如下后台代码接收参数

String sEndDate = txtEndDate.Text;
结果获取的值为空串(“”)

  我的解决方法                                                                                                 

     ①给上面的TextBox控件加上一个 name 上面的已经加上,然后使用如下代码获取就能解决问题

 string end = Request.Form["txtEndDate"];

    备注:使用Request.QueryString["txtEndDate"]也获取不到

  我目前的疑惑                                                                                                 

    ① 为什么用js设置的值使用原本的属性就接收不到(Text属性)

    ②为什么只有用Request.Form[""]才能获取到

   ③还有没有别的解决方案,使得用正常的属性能接收到

   请各位帮我解答,谢谢!!