2010-12-14 32 views

Trả lời

29

Trong ASP.NET 4.0, chúng tôi đã giới thiệu hỗ trợ cho các cú pháp HTML sạch hơn. Bạn có thể đọc về nó at Scott Gu's blog. Nếu bạn muốn mô hình cổ điển cho ID khách hàng, bạn có thể điều chỉnh web.config:

<configuration> 
    <system.web> 
     <pages controlRenderingCompatibilityVersion="3.5" /> 

Và điều đó sẽ giúp nâng cấp ứng dụng của bạn dễ dàng hơn. Bạn có thể thay đổi điều này mỗi điều khiển (và mỗi trang) bằng công Control.ClientIDMode bất động sản, mà cũng có thể được thiết lập trong cấu hình web:

<configuration> 
    <system.web> 
     <pages clientIDMode="AutoID|Predictable|Static|Inherit" /> 

AutoID làm cho các điều khiển với cổ điển mô hình ASP.NET 2.0.

+0

Trong trường hợp của tôi, nó có thể đặc biệt nhưng đối với tất cả những người đã thử phương pháp này và không hoạt động cho lần đầu tiên thử cũng đặt thuộc tính clientIDMode trong cùng một lúc. TypingPanda

0

Không phải là cài đặt, mà là quyết định của MS để đơn giản hóa cách ID của các điều khiển trong vùng chứa được chuyển sang ứng dụng khách.

Đây là số blog post bởi Scott Guthrie giải thích các thay đổi. Lý do đằng sau nó:

sạch, dựa trên tiêu chuẩn, CSS-Friendly Markup

1

Theo như tôi nhớ nó lên đến ASP.NET để quyết định tiền tố để sử dụng. Thực tiễn không tốt để tham chiếu trên các điều khiển có giá trị id được mã hóa cứng.

Bạn nên sử dụng tài sản ClientId rằng sẽ luôn tạo cho bạn Id thích hợp:

<td class="tmarg10" style="width: 150px"> 
    <label for="<%=txtName.ClientID %>"> 
     Name of the mall group :</label> 
</td> 
<td class="tmarg10"> 
    <asp:TextBox ID="txtName" runat="server" Columns="90" /> <br /> 
</td> 

Trong ví dụ trên, tính toán của nó ID thích hợp của hộp văn bản và đưa nó vào thuộc tính label. Bằng cách này bạn sẽ không còn lo lắng về việc giữ cùng một id của điều khiển.

0

Nếu bạn chỉ muốn thêm tiền tố 'ct100' vào ID của kiểm soát, hãy thêm trang chính vào trang web của bạn. Nhưng cách nói trên, hãy cố gắng tránh sử dụng hardcode với id điều khiển trong nguồn của bạn và đọc nhận xét của Metthew cho ID tùy chỉnh thế hệ