我需要知道如何在页面加载时更改标记上的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>
`
答案 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帖子,了解如何完成此操作的详细信息。