Javascript ASP.NET隐藏字段未过帐
我有一个基本的web表单页面,它有两个隐藏字段,这些字段的值是在从Bing Maps接收结果后在jQuery方法中设置的。基本结构如下:Javascript ASP.NET隐藏字段未过帐,javascript,c#,jquery,asp.net,webforms,Javascript,C#,Jquery,Asp.net,Webforms,我有一个基本的web表单页面,它有两个隐藏字段,这些字段的值是在从Bing Maps接收结果后在jQuery方法中设置的。基本结构如下: <asp:HiddenField runat="server" ID="hvLatitude" ClientIDMode="Static" /> <asp:HiddenField runat="server" ID="hvLongitude" ClientIDMode="Static" /> 当代码运行时,我的标准回发发生,隐藏值不存
<asp:HiddenField runat="server" ID="hvLatitude" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hvLongitude" ClientIDMode="Static" />
当代码运行时,我的标准回发发生,隐藏值不存在-我检查了字段本身并查看了Request.Forms
,但它们是空字符串。尝试了clientdmode=“Static”
和Auto
,但运气不佳。最奇怪的是,如果我在控制台中执行$(“#hvLatitude”).val()
(因为Visual Studio正在等待我从断点移动a),那么值就在那里!这是我见过的最令人困惑的事情
有什么建议吗?页面上没有Javascript错误,因此我现在完全不知所措。试试以下方法:
var lat = $("#" + '<%= hvLatitude.ClientID %>');
var lng = $("#" + '<%= hvLongitude.ClientID %>');
...
var lat=$(“#”+”);
var lng=$(“#”+”);
...
试试这个:
var lat = $("#" + '<%= hvLatitude.ClientID %>');
var lng = $("#" + '<%= hvLongitude.ClientID %>');
...
var lat=$(“#”+”);
var lng=$(“#”+”);
...
检查这两个隐藏字段是否在页面表单中,并从“开发人员”面板的“网络”选项卡中检查它们的值是否回发,如果在回发功能中更改它们的值,是否在客户端更改?检查这两个隐藏字段是否在页面表单中,并从“开发人员”面板的“网络”选项卡中检查它们的值是否回发,如果您在“回发”功能中更改了它们的值,客户端是否会更改?老实说,这没有任何意义。即使您在页面上禁用了viewstate,它仍会将值发回服务器(无论如何只发送一次)。设置之后(在回发之前或之后),几乎必须有一些东西清除它。javascript代码是否运行多次?为什么会出现关于“确保只设置一次”的注释?检查这两个隐藏字段是否在页面表单中,并从“开发人员”面板的“网络”选项卡检查它们的值是否回发,如果您在回发函数中更改了它们的值,它是否在客户端更改?Annd fixed。新手错误-在异步运行的$.ajax()
调用中设置了值,因此在页面发回之前没有设置值@卡曼-添加您的评论作为答案,因为查看网络选项卡是让我意识到这一点的原因。谢谢大家的快速帮助!我想你的意思是@BasselEid——他的评论提到网络没有任何意义。即使您在页面上禁用了viewstate,它仍会将值发回服务器(无论如何只发送一次)。设置之后(在回发之前或之后),几乎必须有一些东西清除它。javascript代码是否运行多次?为什么会出现关于“确保只设置一次”的注释?检查这两个隐藏字段是否在页面表单中,并从“开发人员”面板的“网络”选项卡检查它们的值是否回发,如果您在回发函数中更改了它们的值,它是否在客户端更改?Annd fixed。新手错误-在异步运行的$.ajax()
调用中设置了值,因此在页面发回之前没有设置值@卡曼-添加您的评论作为答案,因为查看网络选项卡是让我意识到这一点的原因。谢谢大家的快速帮助!我想你的意思是@BasselEid——他的评论提到了网络标签,我通常会这样使用ClientID,但因为我运气不好,所以我尝试了静态
选项。不幸的是,我已经走上了这条路。我通常会这样使用ClientID,但由于运气不好,我尝试了静态
选项。不幸的是,我已经走上了这条路。