2009-06-18 24 views
2

我正在玩asp.net中的內聯代碼塊。有人可以告訴我爲什麼下面的代碼不起作用?在asp.net中包含一個內聯代碼塊的類

<%@ Language="C#" %> 
<% 
    Response.Write(TestClass.ShowMessage()); 

    public class TestClass 
    { 
     public static string ShowMessage() 
     { 
      return "This worked!!"; 
     } 
    } 
%> 

我收到以下錯誤信息:CS1513:}預期

+0

內聯代碼塊主要用於與經典ASP兼容。如果沒有什麼特別的原因與你一起玩,我建議你跳過它們玩一些更有用的東西。 – 2009-06-18 17:18:28

+0

我的需求要求一個快速解決方案,即內聯代碼處理完美的.aspx文件。 – 2009-06-21 03:15:01

回答

3

我覺得能寫,你需要把它放在一個標籤塊

<script runat="server" language="C#"> 
//Put your class here 
</script> 
4

你」裏面一整類我得到了Response.Write在函數的外面漂浮。

你爲什麼不把這個代碼的腳本標籤:

<script runat="Server"> 
    public class TestClass 
    { 
     public static string ShowMessage() 
     { 
      return "This worked!!"; 
     } 
    } 
</script> 

然後:

<%=TestClass.ShowMessage()%> 

注意<%=expr%>被特殊處理。

許多人認爲這是一種不純的方法。您可以這樣做:

<script runat="Server"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     litMessage = TestClass.ShowMessage(); 
    } 
</script> 
<asp:literal id="litMessage" runat="server" />