C# 未看到由Javascript更新的ASP.NET文本框

C# 未看到由Javascript更新的ASP.NET文本框,c#,javascript,asp.net,C#,Javascript,Asp.net,对于知道自己在做什么的人来说,这将很容易 我有一个启动日历按钮、一个继续按钮和一个日期文本框。该按钮在弹出窗口中启动JavaScript日历。该日历使用以下命令将日期返回到ReservationDate文本框字段: window.opener.document.getElementById('ctl00_wpm_ShowProduct_ctl10_ReservationDate').value = '<%= CurrentDate %>'; window.opener.docume

对于知道自己在做什么的人来说,这将很容易

我有一个启动日历按钮、一个继续按钮和一个日期文本框。该按钮在弹出窗口中启动JavaScript日历。该日历使用以下命令将日期返回到ReservationDate文本框字段:

window.opener.document.getElementById('ctl00_wpm_ShowProduct_ctl10_ReservationDate').value = '<%= CurrentDate %>';
window.opener.document.getElementById('ctl00\uWPM\uShowProduct\uCTL10\uReservationDate')。值=“”;
我知道,它不优雅,但很管用。问题是,即使在浏览器上,我在字段中看到了日期,但当我点击“继续”按钮并尝试从.NET脚本访问它时,服务器端脚本仍将其视为空

如何告诉服务器使用浏览器在该字段中没有看到的文本


我知道这是服务器端与客户端之间的问题,但如何弥合这一差距?

如果在页面加载中初始化该值,该值将丢失。 我想一定是这样的

因此,您可以在页面加载中写入:

if(!Page.IsPostBack)
{
Initialize();
}

如果在页面加载中初始化该值,该值将丢失。 我想一定是这样的

因此,您可以在页面加载中写入:

if(!Page.IsPostBack)
{
Initialize();
}

我认为您已将文本框设置为只读,这似乎是一个问题。 在代码隐藏中将其设置为只读,如下所示:

TextBox1.Attributes.Add("readonly", "readonly");

检查。

我认为您已将文本框设置为只读,这似乎是一个问题。 在代码隐藏中将其设置为只读,如下所示:

TextBox1.Attributes.Add("readonly", "readonly");

检查。

是否有其他代码可能在页面生命周期的早期覆盖该值?如果在提交回发之前能够看到字段中的文本,则我认为您的代码中可能存在错误。你可能没有检查
IsPostBack
你也可以发布代码吗?@Chad,如果他无法编译,他会认为它是空的,没有那么难以抗拒是的,当我重新阅读并查看控件名时,我把它放在一起了。发布你的html和服务器端脚本也是个好主意。文本框声明中是否有runat=“server”?当您尝试访问文本框时,是否在服务器上找到该文本框?是否有任何其他代码可能在页面生命周期的早期覆盖该值?如果您能够在提交回发之前在字段中看到文本,则我认为您的代码中可能存在错误。你可能没有检查
IsPostBack
你也可以发布代码吗?@Chad,如果他无法编译,他会认为它是空的,没有那么难以抗拒是的,当我重新阅读并查看控件名时,我把它放在一起了。发布你的html和服务器端脚本也是个好主意。文本框声明中是否有runat=“server”?当您尝试访问文本框时,是否在服务器上找到它?我敢打赌这就是问题所在。但是如果不看代码就很难说。我敢打赌这就是问题所在。不看代码就很难说。很棒的gbs!这让我很反感,因为我可以在屏幕上看到这个值,而且从来没有考虑过只读。谢谢你解决了这个让我抓狂的问题。。。我肯定下周会有一个新的。:)精彩的gbs!这让我很反感,因为我可以在屏幕上看到这个值,而且从来没有考虑过只读。谢谢你解决了这个让我抓狂的问题。。。我肯定下周会有一个新的。:)