繁体   English   中英

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

[英]How to refer to a method in the inline code from the code-behind file?

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

生成错误位于default.cs: “名称'IsPrime'在当前上下文中不存在”

构建错误

这是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>

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

default_aspx.IsPrime(...)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM