quang cao hosting

Cách sử dụng đồng thời C# và VB.net code trong thư mục App_code

Xem: 2713    Tải: 0   Thảo luận: 0   Mục: Mẫu biểu - Hướng dẫn   Lĩnh vực: none

0 điểm   ( 9 đánh giá ) File đã được kiểm thử



Với Asp.net 2.0 bạn có thể kết hợp cả 2 ngôn ngữ C# và VB.net để viết code trong 1 webpage.

Giới thiệu

Với Asp.net 2.0 bạn có thể kết hợp cả 2 ngôn ngữ C# và VB.net để viết code trong 1 webpage. Điều này thật tuyệt khi làm việc với web forms tuy nhiên việc kết hợp 2 ngôn ngữ trên để viết class đặt trong thư mục App_code lại không được (theo thiết lập mặc định). Để làm được điều đó chúng ta cần phải thực hiện vài thao tác config để asp.net "hiểu". Bài viết này hướng dẫn bạn các bước giải quyết vấn đề trên.

Tạo Subfolder và class

Trước hết hãy tạo mới một web site trong visual studio 2005 và add thư mục App_code Click chuột phải lên website và click chọn "Add ASP.NET Folder" :

Hãy thêm vào thư mục app_code 2 class với tên class1.cs và class2.vb. Như vậy class1 viết bằng ngôn ngữ c# và class 2 viết bằng vb.net. Hãy viết class với nội dung như sau:

Class1.cs

public class Class1
{
public static string HelloWorld()
{
return "Hello World from C#";
}
}


Class2.vb

Public Class Class2
Public Shared Function HelloWorld() As String
Return "Hello World from VB.NET"
End Function
End Class


Cả 2 class đều có phương thức HelloWorld, phương thức này trả về 1 chuỗi.
Bây giờ bạn thử compile xem sao, một thông báo lỗi sẽ xuất hiện:


Error 1 The files '/AppCodeDiffLang/App_Code/Class2.vb' and '/AppCodeDiffLang/
App_Code/Class1.cs' use a different language, which is not allowed
since they need to be compiled together.

Thông báo này nói rằng chúng ta không thể sử dụng các ngôn ngữ khác nhau trong thư mục app_code vì chúng được biên dịch chung với nhau.
May mắn là vẫn có 1 cách để giải quyết vấn đề này. Đầu tiên hãy tạo 2 thư mục con trong app_code (tên gì cũng được) trong bài viết này mình sẽ tạo 2 thư mục CsharpCode chưa class1.cs và VbCode chứa class2.vb. Tiếp theo hãy hiệu chỉnh một số thông tin trong web.config giống như sau:

<compilation debug="true">
<codeSubDirectories>
<add directoryName="CsharpCode"></add>
<add directoryName="VbCode"></add>
</codeSubDirectories>
</compilation>


tag <codeSubDirectories> sẽ định nghĩa những thư mục chứa các class viết bằng ngôn ngữ khác nhau. Khi biên dịch các thư mục này sẽ được biên dịch riêng rẽ và sẽ không có lỗi xảy ra.

Bước kiểm tra

Hãy tạo 1 trang web với giao diện như sau:

Web form sẽ chứa 2 lựa chọn, khi người dùng chọn C# và click submit chúng ta sẽ gọi phương thức được viết bằng C# và ngược lại..

protected void Button1_Click(object sender, EventArgs e)
{
switch (RadioButtonList1.SelectedValue)
{
case "CS":
Label1.Text = Class1.HelloWorld();
break;
case "VB":
Label1.Text = Class2.HelloWorld();
break;
}
}


Vậy là xong, bạn có thể chạy và kiểm tra

Cách sử dụng đồng thời C# và VB.net code trong thư mục App_code

Cách sử dụng đồng thời C# và VB.net code trong thư mục App_code Đăng ngày 23-05-2014  Với Asp.net 2.0 bạn có thể kết hợp cả 2 ngôn ngữ C# và VB.net để viết code trong 1 webpage. Điều này thật tuyệt khi làm việc với web forms tuy nhiên việc kết hợp 2 ngôn ngữ trên để viết class đặt trong thư mục App_code lại không được (theo thiết lập mặc định). Để làm được điều đó chúng ta cần phải thực hiện vài thao tác config để asp.net "hiểu". Bài viết này hướng dẫn bạn các bước giải quyết vấn đề trên. 5/10 2713

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
Hỗ trợ kỹ thuật cho thành viên:
Số di động (Hotline): 092.129.6329
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2020. All rights reserved. Bản quyền thuộc VinaGon
Văn phòng giao dịch: 13 Nguyễn Khắc Cần, Phan Chu Trinh, Hoàn Kiếm, Hà Nội.
Điện thoại: 092.129.6329;
Công ty TNHH Công nghệ số Rồng Việt
Người đại diện: Vũ Thị Hoa.
Số chứng nhận đăng ký kinh doanh: 0105801198. Ngày đăng ký: 10/07/2012