我想创建一个一次性密码的快速模拟。问题是我在一个母版页子页面中,我只能在一个内容占位符中有一个 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>