2010-10-18 47 views
6

Tôi đang cố gắng kiểm tra xem ASP.NET có hoạt động trên máy khách IIS 7.5 của tôi không, mã bên dưới hoạt động tốt trên máy chủ của tôi.C# ASP.NET "Thông báo lỗi biên dịch: CS1002:; dự kiến" trên mã cơ bản nhất

<html> 
<body bgcolor="yellow"> 
<center> 
<h2>Hello</h2> 
<p><%Response.Write(now())%></p> 
</center> 
</body> 
</html> 

Sử dụng tập tin text.aspx cùng chính xác có chứa các mã trên anh nhận được lỗi:

Compilation Error 
Description: An error occurred during the compilation of a resource required to 
service this request. Please review the following specific error details and 
modify your source code appropriately. 

Compiler Error Message: CS1002: ; expected 

Source Error: 

    Line 3: <center> 
    Line 4: <h2>Hello</h2> 
    Line 5: <p><%Response.Write(now())%></p> 
    Line 6: </center> 
    Line 7: </body> 

Source File: c:\inetpub\wwwroot\myapp\test.aspx Line: 5 

Bất cứ ý tưởng tại sao điều này sẽ là gì? Máy chủ của anh ta sẽ chạy phiên bản Windows của Thụy Sĩ (nếu điều đó tạo ra bất kỳ sự khác biệt nào).

Rất cám ơn nhiều người. Steven

Trả lời

13

Vấn đề của bạn là với dòng sau:

<p><%Response.Write(now())%></p> 

Những tuyên bố cần một dấu chấm phẩy vì bạn đang nghiêm túc viết một tuyên bố C# (thay vì sử dụng bất kỳ biểu thức ràng buộc nào):

<p><% Response.Write(now()); %></p> 

Rất tiếc ... đã bỏ lỡ một phần câu hỏi.

Nếu điều này làm việc trên máy chủ cục bộ của bạn nhưng không phải máy chủ từ xa của khách hàng, bạn nên đảm bảo rằng máy chủ từ xa của khách hàng được đặt để sử dụng Visual Basic thay vì C# làm ngôn ngữ.

Bạn cũng có thể thêm các chỉ thị ngôn ngữ trực tiếp đến * Trang aspx để buộc trang để sử dụng đúng ngôn ngữ:

<%@ Page Title="Your page's title" Language="VB" %> 
+0

Tại sao nó hoạt động trên máy chủ của tôi? Cảm ơn –

+0

@Steven - Xem chỉnh sửa của tôi. Tôi đã bỏ lỡ phần đó của câu hỏi. Bị phân tâm bởi mã. :-P –

+0

Câu trả lời hay, cảm ơn vì sự giúp đỡ. –

3

Kiểm tra cài đặt ngôn ngữ mặc định trong Trình quản lý IIS. Tôi nghĩ rằng bạn sẽ tìm thấy máy địa phương của bạn được thiết lập để Visual Basic và máy chủ từ xa sẽ được thiết lập để C#.

IIS 7 và sau

  1. Chọn trang web trong câu hỏi
  2. Chọn NET Compilation
  3. Hãy so sánh giá trị cài đặt cho 'Ngôn ngữ mặc định'

Về cơ bản tuyên bố của bạn là Visual Basic.

<%= Response.Write("Blah") %> 

Đây là báo cáo kết quả tương tự trong C#

<%= Response.Write("Blah"); %> 
0

Mở thiết lập của tôi điều này cần phải có:

Response.Write (hiện nay());

Xin lưu ý; vào cuối Response.Write. Phiên bản Windows Server/ASP.NET nào được cài đặt?

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