2012-01-09 49 views
0

我有一个asp.net页面,其中一个按钮和vb代码隐藏为<input type="submit">单击输入类型提交登录提示

<input runat="server" id="review" clientidmode="Static" 
         type="submit" value="review" name="submit" /> 

做什么代码我补充,使我得到创建所需的登录提示弹出框,询问用户名和密码。我也想确保当用户键入密码字段不会显示特定字符​​的密码。

+0

*让我看看代码*? – 2012-01-09 14:29:55

+0

我只是好奇;你不能在RequiredFieldValidator中使用TextBox吗? – Win 2012-01-09 15:45:24

回答

0

如果您使用ASP.NET,我认为您可能会在<asp:Login />组件之后。就个人而言,我更喜欢避免使用ASP.NET组件,因为它们会生成所有的免费HTML,并且倾向于手动编写所有这些代码,但对于初学者来说,它可能是最快捷的选择。

first example in this page

<form id="form1" runat="server"> 
     <asp:Login id="Login1" runat="server" 
      UserNameLabelText="E-mail address:" 
      OnLoggingIn="OnLoggingIn" 
      OnLoginError="OnLoginError" > 
     </asp:Login> 

    </form> 

代码隐藏文本将如下所示:

Sub OnLoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) 
    If Not IsValidUser(Login1.UserName, Login1.Password) Then 
     Login1.InstructionText = "Authentication Failed." 
     e.Cancel = True 
    Else 
     Login1.InstructionText = String.Empty 
    End If 
End Sub 

和主要页面上,你可以创建如下使用window.open()一个弹出框:

<a href="javascript:;" 
    onclick="window.open('myloginpage.aspx', 'login', 'width=600,height=400,scrollbars=no')"/> 

或者,如果您想使用输入按钮代码是相同的,但使用INPUT而不是A标签。

<input runat="server" id="review" clientidmode="Static" 
       type="button" value="review" name="submit" 
       OnClientClick="window.open('myloginpage.aspx', 'login', 'width=600,height=400,scrollbars=no')" /> 

请记住大多数浏览器目前包括弹出窗口拦截,可能很难让用户真正到达登录页面。

+0

出于某种原因,我没有收到提示,我只是收到一条错误消息。如果我有一个处理按钮点击的代码隐藏方法,这个onclientclick会继续工作吗?私人小组review_ServerClick(BYVAL发件人为对象,BYVALË作为System.EventArgs)把手preview.ServerClick pnlForm.Visible =假 的createRequest(ConnectToServiceReturnSID()) pnlReview.Visible =真 pnlConfirmation.Visible =假 结束子 – jsmith 2012-01-09 16:44:54

+0

是的,因为你指定'runat = server','onclick'事件被.NET处理,然后'onclient'事件重写为'onclick',以便在浏览器上提供javascript。没有任何意义,但它的微观经济学我们谈论,所以我不期望它。 – 2012-01-09 16:53:34

+0

那么vb等价于调用登录提示是什么? – jsmith 2012-01-09 17:32:52

0

我认为你的设计(收集提交登录详细信息)创建几个显著障碍,为您解决:

  • 你如何取消登录提示,如果用户名和密码失败?

  • 如何收集并将输入的用户名和密码传回原始页面?

  • 如果用户忘记自己的凭证并需要重置或需要首次注册,那么信息如何正确返回到提交流程?

通过用户名和密码来保护进入您的网站比在提交过程中尝试收集这些信息容易得多。

对于在此MSDN文章中实现此过程所需的确切步骤,Microsoft有很好的演练:How to: Implement Simple Forms Authentication

但是,如果这不适合您的情况,那么我会建议一些沿着这条线jQuery Login Dialog