prequal.aspx.cs のコードビハインドを含む、prequal.aspx という asp.net ページがあります。できます。このページの各クライアント コードをそれぞれの部分ファイルに分けたいと思います (後で誤って間違ったコードを変更する可能性を減らすためです)。両方の .cs ファイルは次のように始まります。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class prequal : System.Web.UI.Page
{
クライアント コードの 1 つを独自のファイルに入れると、正常にコンパイルされますが、ページを表示しようとすると次のエラーが発生します。
CS1061: 'ASP.prequal_aspx' には 'lnkLanguage_Click' の定義が含まれておらず、タイプ 'ASP.prequal_aspx' の最初の引数を受け入れる拡張メソッド 'lnkLanguage_Click' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
prequal.aspx には次のようなものがあります。
<asp:LinkButton id="lnkLanguage" onclick="lnkLanguage_Click" runat="server" CausesValidation="False">English / En Español</asp:LinkButton>
prequal.aspx.cs には次のようなものがあります。
protected void lnkLanguage_Click()
{
// alternate preferred language
if (Session["lang"].ToString() == "spa")
{
Session["lang"] = "eng";
}
else
{
Session["lang"] = "spa";
}
populateQuestions();
}
populateQuestions() は、prequal-client1.aspx.cs のコードを呼び出す prequal.aspx.cs の他のコードを呼び出します。コードは分割する前に機能するので、別の部分クラス ファイルを間違って作成しようとしていますか? それとも、私がまだ気付いていない別の問題ですか?