如何更改页面上的标记上的HTML类属性加载ASP .NET C#

时间:2012-04-03 11:40:28

标签: c# asp.net html class

我需要知道如何在页面加载时更改标记上的css类..在PHP中,这更容易我所要做的就是编写<tagNAme class="<?php echo "className"; ?>"> ...

我能够在标签中编写php代码块...但在ASP .NET中这似乎不起作用

我想在标签之后尝试<% tagElementId.attribute.add("class","cssName"); %>我想改变ASPX文件中的css ....但是没有用..

我的scanario是我需要检查密码文本框并在登录按钮上单击..如果密码错误,密码文本框应该有一个名为“error”的类,否则一个名为“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>

`

3 个答案:

答案 0 :(得分:2)

这可以在您的代码隐藏服务器事件中完成:

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

答案 1 :(得分: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中工作,所以你需要摆脱旧的习惯并且完全不同。

编辑基于您对Curt答案的评论:

如果你想将某个类添加到现有类中,你可以这样做:

myLabel.CssClass += " someNewClass";

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

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

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

myParentElement.Controls.Add(myDynamicNewLabel);

答案 2 :(得分:0)

至于想要知道如何将HTML元素添加到特定DIV标记等特定位置,如果您拥有DIV标记的ID,那么您可以将新的HTML元素作为子元素添加到该DIV标记中。

查看this帖子,了解如何完成此操作的详细信息。