我想将网页的设计和实现分成单独的HTML和CSS文件(以便于维护)。
我在项目中定义了以下页面。
<%@ Page Title="" Language="C#" MasterPageFile="~/STGGeneral.Master" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="SystemManager.Register" %>
这引用了以下CSS文件
#UsernameLabel
{
position: absolute;
top: 10px;
left: 10px;
}
麻烦的是当ASP.NET生成发送到浏览器的代码时,它会发送以下内容
<!-- Login Popup -->
<input type="image" name="ctl00$LoginButton" id="ctl00_LoginButton" class="LoginButton" src="Images/key.png" style="border-width:0px;" />
<div id="ctl00_LoginFormPanel" class="LoginPanel">
<div id="ctl00_UpdatePanel1">
<span id="ctl00_LabelUsername">UserId:</span>
<input name="ctl00$UsernameTextBox" type="text" id="ctl00_UsernameTextBox" />
<span id="ctl00_LabelPassword" class="StandardLabel">Label</span>
<input name="ctl00$PasswordTextBox" type="text" id="ctl00_PasswordTextBox" />
<input type="image" name="ctl00$ConfirmLoginButton" id="ctl00_ConfirmLoginButton" class="ConfirmLoginButton" UseSubmitBehavior="false" src="Images/Security.png" style="border-width:0px;" />
</div>
</div>
因为我的'Username'标签现在被ASP.NET称为ctl00_LabelUsername,所以这段代码的样式可以更长时间。
有没有办法告诉ASP.NET我不希望它更改我的对象的名称,或者如何在主/内容页面组合生成的页面中使用“#”进行引用。 / p>
答案 0 :(得分:2)
如果您使用的是.NET 4.0,则会为此添加ClientIDMode
答案 1 :(得分:1)
如果您不使用ASP.NET 4.0,则可以为Label提供类,例如
LabelUsername.CSSClass = "LabelClass";
否则你可以尝试使用CSS选择器,如 -
.LoginPanel span
{
// CSS Propeties for the label.
}
答案 2 :(得分:-2)
非常简单。您将css更改为引用ctl00_LabelUsername