二次元配列の値を仮id,pwとして、入力チェックを行いたいのですが、c#での記入方法が検索してもわかりません。イメージとしては、入力欄に仮id,pwが入力されたら次の画面へ遷移。idかpwのどちらかが間違っていたら"この~は使用できません"と表示させたいです。
string id,pwで入力欄の値を取得して、nullの場合以下のアラートが出るようにしています。どうかご教授のほどよろしくお願いします。
Windows10pro 2017ver NET framework webforms 4.61ver
protected void Button1_Command(object sender, CommandEventArgs e) { int[,] array = { { 111, 222 }, { 333, 444 } }; string id = TextBox1.Text; string pw = TextBox2.Text; Label3.Text = ""; Label4.Text = ""; if (id == null) { Label3.Text = "IDは必須入力です"; } if (pw == null) { Label4.Text = "パスワードは必須入力です"; } //二次元配列の値で一致チェック for (int i = 0; i < array.GetLength(0); i++) { if (array[0] == id && array[1] == pw) { break; } } }
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="WebApplication_hara_kadai._01login.login" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" href="01login.css"/> <title></title> <style type="text/css"> #Button1 { width: 148px; margin-top: 0px; } #form1 { text-align: center; height: 90px; width: 553px; } #Label5{ margin-left: 37px; margin-right: 0px; } .auto-style1 { width: 100px; text-align:center; } .auto-style2 { width: 100px; } .auto-style3 { position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); width: 300px; height: 109px; } </style> </head> <body style="height: 125px; width: 1140px"> <form id="form1" runat="server"> <br /> <p> <asp:Label ID="Label5" runat="server" Text="IDまたはパスワードに誤りがあります" ForeColor="Red" Width="548px" Height="55px" Font-Size="X-Large" Visible="false"></asp:Label></p> <br /> <br /> <table class = "auto-style3" > <tr> <td class="auto-style1"> <asp:Label ID="Label1" runat="server" Text="Label">ID</asp:Label> </td> <td class="auto-style2"> <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" Width="150px"></asp:TextBox> <br /> <asp:Label ID="Label3" runat="server" ForeColor="Red" CssClass="error"></asp:Label> </td> </tr> <tr> <td class="auto-style1"><asp:Label ID="Label2" runat="server" Text="Label">パスワード</asp:Label> </td> <td class="auto-style2"> <asp:TextBox ID="TextBox2" runat="server" OnTextChanged="TextBox2_TextChanged" Width="150px"></asp:TextBox> <br /> <asp:Label ID="Label4" runat="server" ForeColor="Red" CssClass="error"></asp:Label> </td> </tr> <tr> <td class="auto-style1"> </td> <td class="auto-style2"> <asp:Button ID="Button1" runat="server" Text="次へ" OnCommand="Button1_Command" Width="157px" /> </td> </tr> <tr> <td class="auto-style1"> </td> <td class="auto-style2"> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="../03input1/input1.aspx">新規登録はこちら</asp:HyperLink> </td> </tr> </table> </form> </body> </html>
提示のコードではどういう動作をするんでしょうか。
まずはそこらへんを説明しましょう
何を作っているか(ASP.NET のタグが付いてますが、ASP.NET で作れるものはいろいろあります)と開発環境(OS, Visual Studio のバージョン、.NET Framework or Core のどっちかとそのバージョンなど)を書いてください。
そもそも何がしたいのですか? ASP.NET Web アプリの認証システムを作りたくてその一環として問題があったので質問している? それとも質問に書いてある ID, パスワードとかは本番環境の認証システムとは関係なく、単なる自分の勉強のためですか?
前者なら ASP.NET のフレームワークに備わっている認証システムを使うことをお勧めします。素人が独自実装してもまず使い物にならず、ここで Q&A をしてもお互い時間と労力の意無駄になると思います。
勉強の一環として質問させていただきました
ちなみに認証システムは、自分でまず画面の見た目を作成して、コードは認証システムを利用する流れでしょうか?
二度目のお願い
何を作っているか(ASP.NET のタグが付いてますが、ASP.NET で作れるものはいろいろあります)と開発環境(OS, Visual Studio のバージョン、.NET Framework or Core のどっちかとそのバージョンなど)を書いてください。
入力フォームを作っています。Windows10pro 2017ver NET frameworkです
「何を作っているか(ASP.NET のタグが付いてますが、ASP.NET で作れるものはいろいろあります)」というのは Web Forms なのか、Razor Pages なのか、MVC なのか、それとも何か他のものなのかという質問です。コードを見たところ Web Forms のようですが、そうなのですか?
.NET Framework にもバージョンがあって、1.1, 2.0, 3.5. 4, 4.5 以降ではかなり違いがあります。それを書いてください。4.5 以降だろうと思って話をしていると実は 2.0 だったとかで、話が噛み合わないこともままありますので。
何を作っているかと開発環境は追加情報として質問欄を編集して追記願います。ここコメント欄は「質問への追記・修正の依頼」をする場所で、初期画面では閉じていて見ない人もいますので。
まず、『プロなんだからわかるだろ』っていう考えは捨てましょう。
プロでも『赤の他人』なんだからわかるはずないでしょ。
質問者さんは他人の頭の中を覗けるのでしょうか。
回答者は質問者と同じ環境にある……わけじゃないです。
提示された情報からしか読み取れません。
プログラム全体が何をしているか(何を作りたいのか)や、『質問にあるコードだとどういう結果になるのか』や『どういう風になってほしいのか』さえ見当が付きません。
さらに、.NET Frameworkとかの環境とかによって違う事もある。(これを知らないのは仕方ない部分はあるが)
ご自分の質問を『第三者的視点で』、『フラットな状態で』読んでみてください。
どのようになるべきか、どういう風になるのか、その他の情報(開発環境や.NET等のバージョン等)とかはっきりとわかりますか?
ループで探して一致するものがあったらフラグを立てる、ループ後にフラグが立っていなかったらなかった
でいいんじゃ?
回答1件
あなたの回答
tips
プレビュー