我有一个名为prequal.aspx的asp.net页面,其代码隐藏为prequal.aspx.cs。有用。我想将这个页面中的每个客户端代码分离到他们自己的部分文件中(以减少以后错误地修改错误的文件的机会。)两个.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
{
当我将其中一个客户端代码放入其自己的文件中时,它编译得很好,但是当我尝试查看该页面时出现以下错误:
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.aspx.cs中的其他代码,这些代码调用prequal-client1.aspx.cs中的代码。代码在我拆分之前有效,所以我要不正确地创建单独的部分类文件?或者是我不知道的其他问题呢?
答案 0 :(得分:1)
我认为lnkLanguage
的签名必须是:
protected void lnkLanguage_Click(object sender, EventArgs e)
{
//...
}