【发布时间】:2011-09-11 22:49:58
【问题描述】:
这两个我都试过了:
<asp:HiddenField ID = "selectedHour" runat="server" Value="blahblah" />
<input type="hidden" id="myHour" name="hour" Value="blahblah" runat="server"/>
我尝试用 Javascript 更新它:
<script type="text/javascript">
function addEventByClick(hour) {
document.getElementById("myHour").Value = hour;
alert(document.getElementById("myHour").Value);
document.getElementById("dummyButton").click();
}
</script>
哪个“有效”:警报给了我正确的数字。
然后,当我点击提交时,它会调用一个 C# 方法(通过点击一个 asp.net 组件来调用),它会这样做:
String h = myHour.Value;
//or
//String h = Request.Form["myHour"];
这总是返回“blahblah”,即初始值。
所有这些东西都在一个更新面板中,但它在同一个更新面板中,都在同一个 ContentTemplate 中。
那为什么不更新呢?
编辑:谢谢大家。我讨厌当我得到 3 个完美答案时,我怎么知道要检查哪一个...
【问题讨论】:
-
这是做什么的? ->
document.getElementById("dummyButton").click() -
@Rohan 模拟点击按钮,完美运行。我用它来打开一个模式弹出窗口,因为用户可以通过多种方式获得该弹出窗口。
-
不确定,因为
.click()在技术上应该适用于 jquery 对象,而不是您选择的 DOM 对象。
标签: c# javascript asp.net updatepanel hiddenfield