在asp.net中的内联代码块中包含一个类

时间:2009-06-18 17:07:36

标签: asp.net

我正在玩asp.net中的内联代码块。有人可以告诉我为什么下面的代码不起作用吗?

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

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

我收到以下错误消息:CS1513:}预期

2 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:3)

我认为能够编写一个完整的类来将它放在标记块

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