2012-04-03 60 views
0

我需要知道如何更改页面加载标签上的CSS类..在PHP中,这更容易,我只需要写<tagNAme class="<?php echo "className"; ?>"> ...如何在页面加载时更改标签上的HTML类属性ASP .NET C#

我能写PHP代码blockes在标签..但在ASP .NET这似乎并没有工作

我我想改变的CSS标签后试图<% tagElementId.attribute.add("class","cssName"); %>在ASPX文件....但没有工作..

我的scanario是我需要检查密码文本框和登录按钮单击..如果密码是错误的密码文本框sh应该有一个叫“错误”的类,否则一个名为“userinput”的css类

我该怎么做?

编辑

<form id="loginPanel" runat="server"> 
     <ul> 
      <li> 
       <h3> 
        Log on</h3> 
      </li> 
      <li> 
       <label for="userId"> 
        User ID :</label> 

       <asp:TextBox ID="userId" name="userId" class="loginTextInput" runat="server"></asp:TextBox> 

      </li> 
      <li> 
       <label for="password"> 
        Password :</label> 

       <asp:TextBox ID="password" name="password" class="loginTextInput" 
        runat="server" ontextchanged="password_TextChanged"></asp:TextBox> 

      </li> 
      <li> 
       <asp:Button ID="logInButton" runat="server" Text="Log on" OnClick="logInButton_Click" /> 
       <li class="forgotUserText">Forgot <a href="#" class="forgotUser">User ID </a>or <a 
        href="#" class="forgotUser">Password?</a> </li> 

     </ul> 
     </form> 

`

回答

2

MyPage.aspx

<asp:Label ID="myLabel" Text="Some text in span" runat="server" /> 

MyPage.aspx。 cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    myLabel.CssClass = "someNewClass"; 
} 

我想指出一件事 - 尽量不要将aspx(html)页面与您的示例中的逻辑混合。这是一个坏习惯。在PHP中,你实际上没有其他选择,但是你现在尝试在asp.net中工作,所以你需要摆脱旧的习惯,并认为完全不同。基于您对简略的回答评论

编辑

如果你想增加一些类到现有的一个,你可以做这样的事情:基于

myLabel.CssClass += " someNewClass"; 

编辑在最后的评论(和最后一个,因为这开始是一个完全不同的问题!创建新的问题,我建议先做一些研究,所以我们不必解释所有的基本知识

您只需要为您要修改的代码隐藏元素设置属性runat =“server”,并确保您也设置了它的ID。然后,你可以做这样的事情:

Label myDynamicNewLabel = new Label(); 
myDynamicNewLabel.Text = "Let's say this is an error message"; 

myParentElement.Controls.Add(myDynamicNewLabel); 
+0

嗨非常感谢你,好吧,如果我不使用内联编码如何添加一个特定的html元素到某个地方,例如在页面加载时动态地加入某个div标签? – Dilan87 2012-04-03 12:10:18

+0

@ Dilan87,很高兴帮助。然而,如果你有更多的问题与这个问题无关,你应该创建一个新的问题,正如我在上次编辑中所建议的那样。 – walther 2012-04-03 12:16:23

2

你可以在你做的代码隐藏服务器的事件:

if (//password is wrong){ 
    txtPassword.CssClass += " error"; 
} 
+0

嗨我试过,但没有工作insted它失去了它已经有的CSS类,请检查我的问题的ASPX代码 – Dilan87 2012-04-03 11:49:10

+0

@ Dilan87我已经改变了代码,以便它添加此类以及保持当前类 – Curt 2012-04-03 11:50:31

0

至于想知道如何HTML元素添加到一个特定的地方好比一个DIV标签,以及如果你有DIV标签的ID,那么你可以添加新的HTML元素作为DIV标签的子元素。

检查出this后有关如何完成此操作的详细信息。