2009-07-29 40 views
5

Tôi nhận ra rằng bằng cách đặt câu hỏi này, tôi có thể bắt đầu ngày tận thế, nhưng một đồng nghiệp của tôi sử dụng rất nhiều mã hóa nội tuyến trong các trang aspx của họ, khi tôi thích sử dụng mã ẩn.ASP.NET - Inline vs. Code-Behind

Có cách nào đúng và sai ở đây không?

+0

Dupe http : //stackoverflow.com/questions/702343/ondatabinding-vs-inline-pros-cons-and-overhead –

+0

Vâng, Kelsey chỉ ra. Mặc dù không hoàn toàn giống nhau, tôi đang tìm kiếm nếu có một cách chính xác để làm việc, chủ yếu là cho một dự án chúng tôi sắp bắt đầu làm việc trên. – LiamGu

Trả lời

5

Không trừ khi tiêu chuẩn mã hóa của bạn nói cách khác.

IMO code-behind giúp tách mối quan tâm, vì vậy tôi thích điều đó, nhưng đôi khi chỉ cần xử lý một tệp cũng tốt.

5

Mã phía sau là nơi truyền thống và hợp lý hơn. Nếu nó hoạt động, nó hoạt động, nhưng tôi không thể đứng làm nó trong aspx.

+1

Tôi biết ý của bạn là gì, nội tuyến với tôi hét lên ASP cổ điển. Vấn đề duy nhất với việc sử dụng mã-đằng sau tôi có là tôi không thể kế thừa một trang khác. Ít nhất thì tôi cũng không nghĩ vậy. Trong khi đối số đồng nghiệp của tôi, họ có thể kế thừa một trang và sử dụng mã nội tuyến giải quyết vấn đề này. Cuộc tranh luận này đã được bắt đầu thông qua chính vấn đề này. – LiamGu

+0

Tôi nghĩ asp.net MVC quay trở lại nội tuyến, ở một mức độ nào đó. Lịch sử lặp lại. – shahkalpesh

1

tôi đã thực hiện bài viết chính xác một khi trở lại:

OnDataBinding vs Inline: pros, cons and overhead

Tôi thích đoạn code phía sau. Tôi thường có một khu vựC#region cho tất cả các công cụ dữ liệu. Nó cho phép mọi người có kỹ năng trong HTML/CSS để tinh chỉnh HTML và tất cả những gì họ phải biết là những điều khiển cơ bản để sử dụng và xác định sự kiện OnDataBinding trong định nghĩa của điều khiển. Họ có thể di chuyển mọi thứ xung quanh và làm bất cứ điều gì và không có kiến ​​thức về những gì nó thực sự cần để có được dữ liệu vào databind đó vì nó có thể không đơn giản như chỉ là một 'Eval (' cái gì đó cơ bản) ;.

+0

Ah Tôi không thấy điều đó. Xin lỗi vì bài đăng kép hiệu quả. – LiamGu

+0

Tìm kiếm không phải lúc nào cũng bật lên, tôi đã thực hiện nó trong quá khứ;) – Kelsey

0

Không có quyền/sai với một trong hai điều này.

Bạn có thể viết một số mã nội tuyến & một số mã phải được viết bằng mã-đằng sau. Nó không thể tuyệt đối. Phụ thuộc vào cách đọc/duy trì nó trở thành khi bạn viết nó ở phía bên kia.

EDIT: Như đã nói, viết mã cho con người & ngẫu nhiên cho trình biên dịch.

0

Tôi có xu hướng sử dụng mã-đằng sau vì đây là cách duy nhất cho WPF và tôi cố gắng duy trì tính nhất quán và cảm thấy tự nhiên hơn. Nhưng đó là chủ quan.

1

Vâng, có mã nội tuyến và sau đó có mã nội tuyến. Nếu bạn có một khối tập lệnh ở trên cùng cho bạn page_load, đó là tốt. Nhưng nếu bạn đang trộn rất nhiều vết ong (<% %>) với đánh dấu, cuối cùng bạn sẽ bắt đầu gặp rắc rối khi những con ong đốt không hoạt động như bạn muốn với các điều khiển máy chủ khác.

1

Cá nhân tôi thích lỗi biên dịch hơn với các lỗi thời gian chạy nên tôi đặt tất cả logic của mình vào phần mã.

Thỉnh thoảng khi tôi chỉ cần một giá trị hiển thị trên trang, tôi sẽ đặt <% = SomeValue%> nhưng thậm chí sau đó tôi rất thích tạo nhãn và đặt nhãn.

1

Tôi muốn chắc chắn tôi hiểu câu hỏi - bởi nội dòng, làm bạn có nghĩa là đoạn như

<a><% some.asp.net.code %></a> 

hoặc làm bạn có nghĩa là một so với hai tập tin cho mỗi trang:

page.aspx 
page.aspx.cs 

?

Bởi vì tôi không phải là một fan hâm mộ của những gì tôi gọi là 'nhúng' mã trong ví dụ đầu tiên nhưng tôi DO thích mã và đánh dấu trong cùng một tập tin với một < script runat = "server">

+0

Mã nội tuyến với tôi là cả