我有一个ASP按钮。点击它后,我在使用JavaScript进行一些验证后打开一个弹出窗口。
<asp:Button ID="btnHistory" runat="server" Text="History" Enabled="true" Width="100pt" OnClientClick="ShowHistoryPopup()" meta:resourcekey="btnHistory" OnInit="btnHistory_Init"/>
function ShowHistoryPopup() {
var age = $get("<%= txtSomeTextBox.ClientID %>");
var str = "";
if (Validate(age)) {
str = 'ClService.aspx?id=' + 'Null,' + age.value;
window.open(str);
}
else {
return false;
}
}
我有一个单选按钮。根据选定的索引,我需要启用禁用“历史记录”按钮。单选按钮有3个选项,第3个选项页面回发发生。我只需要在第一个选项上保持按钮启用。我已经在Java Script的帮助下实现了这个逻辑,并在OnPreRender事件上实现了一些代码(用于post post case)。
现在我遇到的问题是,如果我选择选项1或2并单击历史记录按钮,则会触发OnClientCLick事件。但是如果我选择选项3(回发)然后导航回选项1,则onClientCLick不是第一次触发。但点击历史按钮第二次工作正常。有人对此问题有任何建议或解决方案吗?
答案 0 :(得分:0)
如果我理解你的问题,我认为正在发生的事情是你在历史按钮点击之后发回,这不是你想要的(因为没有点击处理程序)。使用此代码对我有用:
<asp:RadioButton ID="RadioButton1" runat="server" GroupName="Radio1" />
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="Radio1" />
<asp:RadioButton ID="RadioButton3" runat="server" AutoPostBack="True" GroupName="Radio1" />
<asp:Button ID="btnHistory" runat="server" Text="History" Enabled="true" Width="100pt" OnClientClick="ShowHistoryPopup();return false;" meta:resourcekey="btnHistory" />
<script type="text/javascript">
function ShowHistoryPopup() {
alert("Here");
}
</script>
我添加的只是return false;
ShowHistoryPopup();
另外,我在这里使用提醒来进行演示,实际上我们应该使用console.log('Show my message');