0

そのため、プロジェクトのサイズが小さく、物事をスリムに保つという一般的な意図があるため、マスターページを使用していません。そのため、単純なcsファイルにクラスを含めて、同じページで使用したいと思います。

// <copyright file="anon.cs" company="Anonymous">
//     ;
// </copyright>

namespace cheese.pies.org
{
using System;
using System.IO;
using System.Net;
using System.Web;
using System.Xml;

/// <summary>
///   Class to process CAS authentication.
///   Based on solutions from CASE and Yale.
/// </summary>
public class CasLogin
{
    /// <summary>
    ///   Address of university cas host
    /// </summary>
    private const string CasHost = "notimportant";

    /// <summary>
    ///   Get the logged-in user's id or redirect them to login.
    /// </summary>
    /// <returns>
    /// DirectoryID of logged in user
    /// </returns>
    public static string GetId()
    {
        ...
    }
    ...
}

残りはかなり重要ではありません。これは基本的な構文エラーだと思います。

これは、ページ インクルードを使用するファイル test.aspx です。

<% @Page Language="C#" Inherits="CasLogin" CodeFile="anon.cs" %>
<script language="C#" runat="server">
protected void Page_Load(object sender, EventArgs e) {
    String directoryId = CasLogin.GetId();
    FormsAuthentication.RedirectFromLoginPage(directoryId, false);
}
</script>

私が得ているエラーは次のとおりです。

Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).

私はこの種のことにかなり慣れていないので、何が問題なのか、適切な構文は何かを知りたいです。ありがとう!

4

3 に答える 3

4

ページから派生するようにクラスを更新するだけです。

public class CasLogin : Page
{
于 2012-05-01T18:56:40.883 に答える
0

エラーメッセージは問題を示しています。クラスを次のように変更します。

public class CasLogin : Page
于 2012-05-01T18:57:42.360 に答える
0

何が間違っているかを正確に伝えています:

コンパイラ エラー メッセージ: ASPNET: このコード ファイルで定義されているクラスが 'inherits' 属性と一致し、正しい基本クラス (Page または UserControl など) を拡張していることを確認してください。

public class CasLogin {}拡張Pageまたは? UserControl_

于 2012-05-01T18:57:48.807 に答える