ワンタイムパスワードの簡単なシミュレーションを作成したいと思います。問題は、マスターページの子ページにいて、1つのコンテンツプレースホルダーに1つのasp.netフォームしか持てず、もう1つにはランダムコードを生成する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>