如何从代码隐藏文件中引用内联代码中的方法?

时间:2018-01-29 10:57:59

标签: c# asp.net

IsPrime方法位于App_Code文件夹中的单独类中,但我想了解为什么这不起作用以及如何使其工作。

构建错误在default.cs中: "名称' IsPrime'在当前上下文中不存在"

The build error

这是后面的代码,default.cs:

using System;
public partial class _Default : System.Web.UI.Page {
    protected void btnGo_Click(object sender, EventArgs e) {
        lblAnswer.Text = IsPrime(Convert.ToInt32(txtNumber.Text));
    }
}

这是标记,default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<%@ Import Namespace="System" %>
<%@ Page Language="c#"%>

<script runat="server">
    public partial class _Default : System.Web.UI.Page {
        static public Boolean IsPrime(int num) {
            Boolean isPrime = true;
            int limit = num / 2;
            for (int i = 2; i < limit; i++) {
                if (num % i == 0) { isPrime = false; break; }
            }
            return isPrime;
        }
    }
</script>

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtNumber" runat="server"></asp:TextBox>
    </div>
    <div>
        <asp:Button runat="server" ID="btnGo" OnClick="btnGo_Click" Text="Go" />
    </div>
    <div>
        <asp:label runat="server" ID="lblAnswer" />
    </div>

    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我将Default.cs中对IsPrime的引用更改为

default_aspx.IsPrime(...)

显然,内联代码放在名为default_aspx

的类中