2009-06-30 16 views
1

ヘルプ!ログインページでASP.Netログインコントロールを使用していますが、ログインボタンが機能していないと思われ、認証イベントが発生していません。 [ログイン]をクリックすると、ページは[ログイン]ページに戻ります。壊れたASP.Netログインコントロール

のweb.configエキス

<authorization> 
<deny users="?" /> 
    <allow users="*" /> 
</authorization> 

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" timeout="15" defaultUrl="Default.aspx" /> 
</authentication> 

画像やスタイルシートなどはOK表示されるように、私はまた、匿名ユーザーにアクセスできるように私のApp_Themesフォルダのパスを設定しています。

ログインコントロール自体のDestinationUrlプロパティが "Default.aspx"に設定されており、ユーザー名またはパスワードのいずれかのフィールドを省略すると、検証エラーがページに表示されます。

ログイン制御マークアップ:

<asp:Login ID="Login1" runat="server" LoginButtonType="Image" 
    Width="557px" DestinationPageUrl="~/Default.aspx" 
    InstructionText="To login, please enter your username and password below." 
    DisplayRememberMe="False" OnAuthenticate="Login1_Authenticate" LoginButtonImageUrl="~/App_Themes/RDCU/Images/submit.gif"> 
    <InstructionTextStyle Font-Names="Verdana" Font-Size="Small" ForeColor="#00A4E8" Height="40px" /> 
    <TitleTextStyle CssClass="header" HorizontalAlign="Left" /> 
    <TextBoxStyle Width="200px" /> 
    <LabelStyle Font-Bold="True" /> 
</asp:Login> 

これは、以前に働いていますが、私はそれが動作を停止させるために何を変更したとは思いません。

+2

defaultUrl = "Default.apsx"あなたは誤植があると思います。 – marcc

+0

ログイン制御タグも投稿できますか? – BigBlondeViking

+0

バリデータを取り出してみてください。私は、検証とログイン制御の問題を思い出しますが、完全な答えを出すには十分ではありません。後で調査し、回答を投稿します。 –

答えて

1

Loginコントロールをテンプレートに変換し、いくつかのプロパティを変更して元のレイアウトに戻して、自分自身で修正することができました。

これはなぜ違いがあるのか​​分かりません(おそらく、再コンパイルや何かを強制するかもしれませんが)。

助けようとした人に感謝します。

1

これは、検証に問題がある可能性があります。

ページにASP.Net検証コントロールがあると仮定すると、ログインコントロール用にすでに存在する検証を妨げる可能性があります。検証コントロールのValidationGroupプロパティをLoginコントロールの名前に設定してみてください。これにより、ログイン制御と同じ検証グループに配置され、検証が統一されたままになります。

このような何か:

<asp:Login runat="server" ID="myLogin" DisplayRememberMe="false" 
    FailureText="Invalid user name or password" 
    UserNameLabelText="User Name:" TitleText="" 
    LoginButtonText="Submit" TextBoxStyle-Width="175px"> 
</asp:Login> 
<asp:CustomValidator runat="server" ID="cvTandC" 
    ClientValidationFunction="validateTandC" Display="Dynamic" 
    EnableClientScript="true" ErrorMessage="Please check to continue." 
    ForeColor="Red" ValidateEmptyText="true" 
    ValidationGroup="myLogin"></asp:CustomValidator> 

は、最後の行に検証グループに注意してください。

関連する問題