javascript – asp的jQuery更新:HiddenField无法在回发中持久化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – asp的jQuery更新:HiddenField无法在回发中持久化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2052字,纯文字阅读大概需要3分钟。
内容图文
![javascript – asp的jQuery更新:HiddenField无法在回发中持久化](/upload/InfoBanner/zyjiaocheng/719/3f08913cf99f437c9c8fbb6c23161e6f.jpg)
我在sitecore(它是一个ascx控件)中有一个子布局,它包含一个隐藏字段和一个图像映射.根据单击的图像映射区域,我想设置隐藏字段的值,然后启动回发到服务器.
我的标记如下:
<script type="text/javascript">
function SetRegion(regionName) {
$('#<%=hdnRegion.ClientID%>').val(regionName);
__doPostBack('<%=lnkRedirectButton.UniqueID%>', '');
}
</script>
<img src="/Images/Interface/Map-Background.png" usemap="#regionMapView" class="map" />
<map id="regionMapView" name="regionMapView">
<area id="x" href="javascript:SetRegion('x')" shape="poly" coords=",,,," />
<area id="y" href="javascript:SetRegion('y')" shape="poly" coords=",,,," />
<area id="z" href="javascript:SetRegion('z')" shape="poly" coords=",,,," />
</map>
<asp:HiddenField ID="hdnRegion" runat="server" />
<asp:LinkButton ID="lnkRedirectButton" onclick="lnkRedirectButton_Click" runat="server" />
我的代码隐藏如下:
protected void lnkRedirectButton_Click(object sender, EventArgs e)
{
string region = hdnRegion.Value; //at this point, I expect hdnRegion.Value to be "x" "y" or "z" but it's always coming back empty :-(
//do stuff...
}
我添加了虚拟LinkBut??ton作为回发的钩子(创建一个代码隐藏方法来处理回发).
我已经在一个独立的Web应用程序中尝试了这个代码,它似乎工作正常,所以我想知道是否有一些正在发生的事情会导致在回发过程中弄乱隐藏字段的值?
澄清;回发事件正在服务器上被触发和处理,我在javascript中使用alert()来确认隐藏的字段值是否正确设置.
编辑:
重新标记的问题包括jquery-ui标记.
这个问题似乎与以下事实有关:所有这一切都发生在使用jQuery UI库中的$().dialog()方法显示的div中…
解决方法:
正如我在编辑中所提到的,这个问题与隐藏字段(以及其他所有内容)位于div内部有关,该div使用jQuery UI对话框方法进行操作以创建弹出窗口.
我发现了这个问题(HiddenField value modified by javascript is not posted back)
这给了我答案,并涉及在open方法构造函数中添加一行代码:callback.
我打开对话框的JavaScript代码修改如下:
$('#MyDialog').dialog({
closeOnEscape: true,
open: function(event, ui) {
$(this).parent().appendTo("form"); //this line sorted everything!
}
});
引用DanaBenson“我认为根本原因是jQueryUI将对话框附加到BODY标记而不是FORM标记,其中.Net需要它.”
内容总结
以上是互联网集市为您收集整理的javascript – asp的jQuery更新:HiddenField无法在回发中持久化全部内容,希望文章能够帮你解决javascript – asp的jQuery更新:HiddenField无法在回发中持久化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。