J'ai une classe dans un fichier qui se trouve dans le dossier "App_Code". Je peux l'utiliser dans un fichier "aspx" mais pas à partir d'un fichier code-behind. Comment le rendre visible pour un code-behind?
REMARQUE: il s'agit d'ASP.Net sur Mono et j'écris les classes directement, sans utiliser de IDE pour les compiler
Mes dossiers:
<%@ Page language="c#" src="TestAppCode.aspx.cs" Inherits="TestAppCode.TestAppCode" AutoEventWireup="true" %>
<html>
<head>
<title>Test App_Code Folder</title>
</head>
<body>
<form id="contactForm" runat="server">
<asp:TextBox id="Name" runat="server" ></asp:TextBox>
<asp:TextBox id="Age" runat="server" ></asp:TextBox>
<asp:Button ID="Submit" runat="server" Text="Submit" onclick="SubmitForm" />
</form>
</body>
<html>
using System;
using System.Web.UI.WebControls;
namespace TestAppCode
{
public class TestAppCode : System.Web.UI.Page
{
protected void SubmitForm(object sender, EventArgs e)
{
//It fails here with the error: CS0246: The type or namespace name
//`MyAppCodeClass' could not be found. Are you missing a using
//directive or an Assembly reference?
MyAppCodeClass m = new MyAppCodeClass();
}
}
}
public class MyAppCodeClass
{
public MyAppCodeClass() {}
}
J'ai essayé de lui donner un espace de noms, mais cela ne résout pas le problème.
Changez votre classe 'Build Action
compiler.