那要写两个aspx文件:login.aspx,default.aspx,login.aspx用来显示一个输入用户名的TextBox和一个输入密码的TextBox,还有一个“登录”按钮和一个“新用户注册”按钮。default.aspx显示“XXX,你好!......”,还有一个“修改个人信息”的按钮。不需要Panel,完全可以用asp.net的Codebehind技术,把以前asp的编程思想抛弃吧,完全投入到asp.net的怀抱。

解决方案 »

  1.   

    看你的意思是在同一个地方显示上述控件了。
    那最好还是用Panel来控制。
      

  2.   

    是在同一个地方显示上述控件
    Code-behind虽然很Cool,可就是使的不熟
      

  3.   

    完全可以采用vb的编程方法来做,将显示的东西放在.aspx文件里面,处理的程序放在.aspx.vb文件里面
      

  4.   

    想到一个好办法
    先把登录前后显示的东西做成两个网页配件,根据不同情况加载不同的配件,再加上code-behind技术,不错吧?
      

  5.   

    asp.net中有很方便的安全控制,结合IIS和web.config,你可以参考.net的quickstart,例如:下面的程序,如果用户没有登陆,自动转向login.apsx,否则执行default.aspx,这是在web.config中设置的
    web.config如下:
    <configuration>
      <system.web>
          <authentication mode="Forms">
            <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
          </authentication>
          <authorization>
            <deny users="?" />
          </authorization>
        <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
      </system.web>
    </configuration>default.aspx如下:
    <%@ Import Namespace="System.Web.Security " %><html>  <script language="VB" runat=server>
        Sub Page_Load(Src As Object, E As EventArgs)
            Welcome.Text = "Hello, " + User.Identity.Name
        End Sub    Sub Signout_Click(Src As Object, E As EventArgs)
            FormsAuthentication.SignOut()
            Response.Redirect("login.aspx")
        End Sub
      </script>  <body>    <h3><font face="Verdana">Using Cookie Authentication</font></h3>    <form runat=server>      <h3><asp:label id="Welcome" runat=server/></h3>      <asp:button text="Signout" OnClick="Signout_Click" runat=server/>    </form>  </body></html>  login.aspx:
    <%@ Import Namespace="System.Web.Security " %><html>  <script language="VB" runat=server>
        Sub Login_Click(Src As Object, E As EventArgs)
            If UserEmail.Value = "[email protected]" And UserPass.Value = "password"
                FormsAuthentication.RedirectFromLoginPage(UserEmail.Value, PersistCookie.Checked)
            Else
                Msg.Text = "Invalid Credentials: Please try again"
            End If
        End Sub
      </script>  <body>    <form runat=server>      <h3><font face="Verdana">Login Page</font></h3>      <table>
            <tr>
              <td>Email:</td>
              <td><input id="UserEmail" type="text" runat=server/></td>
              <td><ASP:RequiredFieldValidator ControlToValidate="UserEmail" Display="Static" ErrorMessage="*" runat=server/></td>
            </tr>
            <tr>
              <td>Password:</td>
              <td><input id="UserPass" type=password runat=server/></td>
              <td><ASP:RequiredFieldValidator ControlToValidate="UserPass" Display="Static" ErrorMessage="*" runat=server/></td>
            </tr>
            <tr>
              <td>Persistent Cookie:</td>
              <td><ASP:CheckBox id=PersistCookie runat="server" /> </td>
              <td></td>
            </tr>
          </table>      <asp:button text="Login" OnClick="Login_Click" runat=server/>      <p>      <asp:Label id="Msg" ForeColor="red" Font-Name="Verdana" Font-Size="10" runat=server />    </form>
      </body></html>建立一个虚拟目录,运行一下default.aspx,看看login.aspx得程序,输入用户名,密码。你可以看到asp.net实在方便很多。不需要过去在asp中那样做了。