2011-02-04 40 views
5

Guys Sự khác biệt giữa cả hai là gì ??Sự khác biệt giữa <asp:table> và <table>?

nếu tôi đặt <table runat=server> Tôi cũng có thể sử dụng nó ở phía máy chủ.

Có sự khác biệt nào giữa cả hai không ??

Thanx

+0

Câu hỏi này có thể giúp bạn hiểu thêm về các vấn đề này. http://stackoverflow.com/questions/57958/when-to-use-htmlcontrols-vs-webcontrols – tenfour

+0

Tôi chỉ sử dụng phiên bản bảng HTML, vì nó cung cấp một lưới 3x3 đẹp để làm việc trên màn hình thiết kế VSS. Phiên bản asp, tôi phải sử dụng các thuộc tính để cung cấp cho nó các cột, hàng, vv và * sau đó * thiết kế xung quanh nó. – Fandango68

Trả lời

7

<asp:Table> là đối tượng .Net có các thuộc tính và khả năng cụ thể có thể được sử dụng thông qua .Net scripting hoặc mã phía sau logic. <table> là một phần tử Html có thể được truy cập thông qua kịch bản và mã đằng sau logic, nhưng nó không có khả năng .Net thuần túy và chỉ có thể xuất ra như vậy.

+0

Bạn có ý nghĩa gì bởi "không có khả năng .net gốc?" 'WebControls.Table' có thể tự nhiên hơn' HtmlControls.HtmlTable' như thế nào? – tenfour

+2

@tenfour: Quá nhiều để đưa vào một bình luận vì vậy tôi sẽ để lại một liên kết phá vỡ băng trên sự khác biệt. Nhưng có sự khác biệt. http://odetocode.com/articles/348.aspx –

+0

Tất nhiên có sự khác biệt. Nhưng không phải loại "bản địa hơn loại khác". Có thể bạn có nghĩa là "abstracted from HTML". – tenfour

1
  • Một <asp:Table> là một điều khiển ASP.NET
  • Một <table> là HTML.

Bất cứ khi nào bạn tạo một aspx, bạn thực sự sửa đổi tài liệu XML có biểu diễn HTML - điều này có thể bao gồm cả thẻ phía máy chủ và phía máy khách.

Trình duyệt web điển hình của bạn không biết <asp:Table> là gì vì nó chỉ hiểu HTML. Do đó máy chủ (ASP.NET) chuyển đổi tất cả các thẻ phía máy chủ thành biểu diễn HTML của nó. Do đó, nếu bạn sử dụng trình duyệt của mình để xem nguồn của trang bao gồm <asp:Table>, bạn sẽ chỉ thấy các thẻ <table>.

+0

Chỉnh sửa: '

' không chạy chút nào vì nó không phải là mã thực thi, chỉ là định dạng HTML. – Piskvor

+3

Điều đó không đúng. Bạn có thể dễ dàng thêm

và sửa đổi phía máy chủ bảng. –

0

<asp:table> đại diện cho cú pháp khai báo cho lớp System.Web.UI.WebControls.Table là WebControl. Là một WebControl, nó có một giao diện lập trình mạnh mẽ hơn nhiều và cung cấp một đối tượng nhiều hơn như giao diện cung cấp cho một mức độ kiểm soát cao.

Thẻ <table> mặt khác khi được sử dụng với thuộc tính runat = "server" đại diện cho lớp System.Web.UI.HtmlControls.HtmlTable là một HtmlControl. Là một HtmlControl, nó rất cơ bản và cung cấp khả năng điều khiển chương trình ít hơn nhiều so với các thuộc tính của nó.

0

Phần tử HTML trong tệp ASP.NET được coi là văn bản, điều khiển máy chủ được coi là đối tượng. Để làm cho các phần tử HTML này có thể lập trình được, bạn có thể thêm thuộc tính runat="server" vào phần tử HTML. Sự khác biệt chính giữa bảng HTML và <asp:Table> là cách chúng có thể lồng nhau, được tạo, ràng buộc và kiểm soát trong thời gian chạy dưới dạng đối tượng thay vì chuỗi văn bản.

Thông tin khác có thể được tìm thấy here.

4

asp:table cuộc sống trong không gian tên System.Web.UI.WebControls - đây là những thành phần mà bọc xung quanh các điều khiển HTML khác nhau và cung cấp một giao diện quen thuộc và sử dụng tới các nhà phát triển winforms (cho một bảng, nó sẽ có một thuộc tính Columns).

table cuộc sống trong không gian tên System.Web.UI.HtmlControls và là một chất tương tự trực tiếp đến các điều khiển HTML thực tế và cung cấp một giao diện quen thuộc hơn với các nhà phát triển HTML (đối với một bảng, nó sẽ có một thuộc tính Cols).

Về mặt đầu ra, những hành vi này khá giống nhau.

Các vấn đề liên quan