【发布时间】:2012-09-13 13:12:10
【问题描述】:
我想创建一个一次性密码的快速模拟。问题是我在一个母版页子页面中,我只能在一个内容占位符中有一个 asp.net 表单,另一个包含一个生成随机代码的 javascript 代码。
如何将此代码传递给 asp.net,以便当用户单击验证时,我可以将他输入的代码与 javascript 生成的随机代码进行比较(可能是 ajax,但我看不出如何?)
如果我可以有 2 个 asp.net 表单,那将不是问题。
更新:我已修改下面的源代码以包含 Andrei 建议的解决方案。
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<form id="form1" runat="server">
Username: <asp:TextBox ID="txtUserName" runat="server" /></br>
OTP: <asp:TextBox ID="txtOTP" runat="server" /></br>
<asp:TextBox ID="OtpHiddenField" runat="server" /></br>
<asp:Button ID="btnValidate" runat="server" onclick="btnValidate_Click" Text="Validate" /></br>
</form>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
<h2>Fake OTP Simulation</h2>
Enter "John"
</br>
Enter OTP
<script type='text/javascript'>
var pass = String(getRandomInt(0, 9)) + String(getRandomInt(0, 9)) + String(getRandomInt(0, 9)) + String(getRandomInt(0, 9));
document.write(pass);
document.getElementById('<%= OtpHiddenField.ClientID %>').value = pass;
</script>
【问题讨论】:
标签: javascript asp.net master-pages