c#app_dataクラスASPXに継承されていない - 属性の質問を継承する
-
28-10-2019 - |
質問
私はこれをしばらくの間理解しようとしてきましたが、エラーメッセージにはGoogleの結果がたくさんありますが、ソリューションを避けています。私は自分がしているはずのことをしていると思います。
vs2010、app_dataでcommon.csを作成しました。 Common.csのコンテンツは、すべてのページで使用される関数です。私が知る限り、これは複数のページ間でCode-Behindコードを共有する適切な方法です。
app_data common.cs
namespace nprah
{
public class BasePage : System.Web.UI.Page
{
}
{
Fish-Creek.aspx.cs
namespace nprah
{
public partial class Fishck : BasePage
{
}
}
Fish-Creek.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="fish-creek.aspx.cs" Inherits="nprah.BasePage" %>
継承属性を正しく理解している場合は、namespace.classNameを含める必要があります。見る: http://support.microsoft.com/kb/312311
このコードを実行すると、次の出力が得られます。
コンパイラエラーメッセージ:ASPNET:このコードファイルで定義されているクラスが「継承」属性と一致し、正しいベースクラス(PageまたはUserControlなど)を拡張することを確認してください。
ソースエラー:
11行目:{
12行目:
13行目:パブリック部分クラスFISHCK:ベースページ
14行目:{
15行目:
Visual Studioは、デザイン中にエラーを表示していません。あなたが提供できるかもしれないガイダンスは大歓迎です。前もって感謝します。
解決
あなたのaspxでそれはそうあるべきです
Inherits="nprah.Fishck"
.aspxを継承することは、コードファイル(.cs)にマッピングする必要があります...そして、そこからコードファイルは、あなたがすでに行ったようにベースページを継承します。
また、それを検証してみてください:codefile = "fish-creek.aspx.cs"。あなたが提供したファイルの名前を使用すると、それは次のようにする必要があります:codefile = "fishck.aspx.cs"。たぶん単なるタイプミス。