使用asp.net代码更改bootsrap导航栏文本

时间:2016-05-07 13:48:39

标签: c# asp.net twitter-bootstrap webforms

我的想法是,当用户登录“登录”并且将不再看到“注册”时,它将在导航栏上显示用户名第一名。

标记:

<ul class="nav navbar-nav">
  <li>
    <a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
   </li>
   <li id="LoginBTN">
     <a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
   </li>
</ul>

代码背后:

protected void BTNLogIn_Click(object sender, ImageClickEventArgs e)
{
    SqlMyName SqlUser= new SqlMyName ();
    DataSet DsUser = new DataSet();
    string StUser = "SELECT TblUsers.User_Name, TblUsers.Pass FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "') AND ((TblUsers.Pass)= '" + TXTPass.Text + "'));";
    DsUser = SqlUser.chkData(StUser);
    if (DsUser.Tables[0].Rows.Count > 0)
    {
        string StShowFname = "SELECT TblUsers.Fname FROM TblUsers WHERE (((TblUsers.User_Name)= '" + TXTUserName.Text + "'));"; 
        DataSet DsShowFname = SqlUser.chkData(StShowFname);

        //How can I unshow or change text of <li>?
     } 
} 

我应该在后面的代码中做什么?

2 个答案:

答案 0 :(得分:1)

您的代码存在许多明显的问题。

让我们从安全开始,因为这应该始终是您的首要任务。您将密码以明文形式存储在服务器中。现在,任何能够访问您的服务器的攻击者都可以轻松访问这些用户帐户。由于用户经常在我的网站上使用相同的用户名和密码,因此您的用户确实对您的用户造成了极大的伤害。切勿在数据库中以明文形式存储密码。相反,你应该用一种方法对密码进行散列和加密。这意味着攻击者无法检索实际密码。要确保用户的凭据有效,您可以将相同的散列应用于其提供的密码,并将其与散列值进行比较。如果匹配,则用户拥有正确的密码,您可以允许他们登录。

其次,用户可以轻松地对您的数据库执行SQL注入攻击,允许他们窃取和/或操纵数据。您需要使用parameterized queries

您的标识符名称与标准.NET命名约定不匹配。当您与其他人共享代码时,例如Stack Overflow,这变得非常明显,使您的代码更难阅读。使用PascalCase作为函数名称。将camelCase用于局部变量。不要使用缩写。

要显示或隐藏服务器端控件,可以使用.Visible属性。要将控件设置为“服务器端”,可以将runat="server"属性添加到其标记中。将Visible属性设置为false将导致不为该控件呈现HTML,因此客户端将无法看到它。

标记

<ul class="nav navbar-nav">
  <li runat="server" id="RegisterButton">
    <a href="#">Register<span class="glyphicon glyphicon-user"</span></a>
   </li>
   <li id="LoginBTN" runat="server">
     <a href="#">Log in<span class="glyphicon glyphicon-log-in"></span></a>
   </li>
</ul>

代码背后:

RegisterButton.Visible = false;
LoginBTN.Visible = false;

答案 1 :(得分:-1)

我这样做了 的的.aspx

  <ul class="nav navbar-nav pull-right">
                <li>
                    <p class="navbar-text">
                        <% =login %><li><% =logout %></li>
                    </p>
                </li>
     </ul>

<强>的.cs

if (userLogintatus == true)
        {
 login = string.Format("Welcome " + (string)Session["Name"])
            logout = "<a  href='../Account/Logout.aspx' style='color: red;'>Logout</a>";

        }
else logout = "";