- - PR -
認証ページ存在フォルダ外のページでTextBoxの値が取得できない。
1
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-03-09 19:38
ASP.NET + AJAX で開発しております。
(VS2005) WEBの構成として、 MASTERPAGE.MASTER TESTフォルダー TEST下 LOGIN.aspx TOP.aspx DETAIL.aspx KEYWORD.aspx という構造のページを作成しておりまして、 LOGINページにキーワード確認ページ KEYWORD.aspx へのリンクを設けて、KEYWORDページから、パスワード忘却時の メール発行という仕組みでシステムを作成しようと思っていおります。 LOGINページ等で、画面のTEXTBOX入力値を取得する場合は、 画面の値を直接指定すれば、値を取得できたのですが、 KEYWORD.aspx で 入力したキーワードを取得する為、テキストボックス に入力した値を取得しようとしておりますが、値を取得できません。 取得タイミングは、NEXTボタンクリックタイミングです。 Protected Sub NextButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles NextButton.Click Dim strID As String = Me.KEYWORD.Text '取得できない Dim strID2 As String = KEYWORD.Text '取得できない Dim strID3 As String = FINDCONTROL("KEYWORD",0).Text '取得できない Dim strID2 As String = KEYWORD.Text '取得できない という有様です。 また、他の画面項目の値も全く取得できません。 LblErrorMSG.Text = ("キーワードを入力して下さい。") KEYWORD.Focus() また、この命令は、出力できて、 それぞれ、エラーメッセージ出力後に、キーワードのテキストボックスに フォーカスが、当たります。 ASP側 <td align="left" colspan="2" style="width: 99px; height: 2px"> <asp:TextBox ID="Keyword" runat="server" Height="24px" MaxLength="20" TextMode="Keyword" Width="296px"></asp:TextBox></td> ファイルの位置が関係しているのでしょうか。 ログイン認証前に、操作できるページが必要なので、是非、心当たりの ある方、ご教授ください。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2009-03-09 23:05
切り分けが必要です。マスターページやAJAXは影響していますか?まずこれらをはずしてみては?
LOGIN.aspxでは正常で、KEYWORD.aspxとLOGIN.aspxは同じ位置なんですか?であればあまり関係ない?
しているならまずはずしてみて、うまくいけば認証が原因という切り分けになりますよね。 なんでしょうね。Page_Loadで何かしてませんかね? | ||||||||||||||||||||||||||||||||
|
投稿日時: 2009-03-10 09:18
>べる様
ご返答ありがとうございます。
確かに…そうですね。動作確認の為に、外して、試してみます。…@
ログインには、Loginコントロールを使っております。 PasswordRecoveryコントロールは使っておりません。 ちょっと、実装上PasswordRecoveryとは、違う働きでしたので…
はい、そうなんです。
はい、そちらの認識でOKです。ファイル名を明記すべきでした。申し訳ありません。
試してみます。…A
大変申し訳ありません。前後で、読み取っていただいて、回答していただいて 本当、ありがとうございました。当方の記述が間違っておりました。 KEYWORD.aspx は LOGIN.aspx と同じフォルダには置いておりませんでした。 TESTフォルダ外においていたのです。(認証制御をフォルダ内限定にしたかった為) WEB.configの制御外となるですかね。 その、外のWEB.configもチェックした方がよい気がしてまいりました。
はい、認証は実装済みです。Web.configに権限は、現在はallows="*" でデバッグしておりました。 deny users ="?" で運用予定です。
再調査してみます。…B 3点、再確認してみます。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2009-03-10 09:54
ページの表示ができているなら認証の設定等はほとんど関係ないと思います。
マスターページとかもたぶん問題ない。 AJAXは、、、大丈夫だと思うけど、それもふくめてKEYWORD.aspxに記述されているプログラムが知りたいところかな。 あと、ページのTrace設定をオンにして、ポストバック時にきちんと入力したデータが投げられているかどうかを確認してみてもいいかもしれません。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2009-03-10 10:20
>べる様
申し訳ありません。 Loadイベントで、項目クリア処理が入っておりました。 認証前でも、Login認証制御フォルダ外でしたら、想定どおりフォルダ外の web.configを <authorization> <allow users="*"/> </authorization> にすることで、アクセスできました。 Masterページ内の値も取得することができました。 全く、初歩的なミスで申し訳ありません。 切り分けて、コードをチェックしていく技法を、まず、再度心がけます。 ありがとうございました。 | ||||||||||||||||||||||||||||||||
|
投稿日時: 2009-03-10 21:31
>どっとねっとふぁん様
ご返答、ありがとうございます。 ご返事遅くなり申し訳ありません。レスと前後してしまいました。
その通りでした。
ページのTrace設定をオンにして、ポストバック時のデータの流れを監視 することができるのですね。 いつも、ポストバック = ロードイベント と考えておりました。 ご指導ありがとうございます。 |
1