我在网站上收到了编译错误。在aspx文件中声明了一个转发器,如下所示:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs"
Inherits="MyClass" %>
<asp:Repeater ID="rptMyRepeater" runat="server">
<ItemTemplate>
<tr>
<td>
…
该课程的定义如下:
public partial class MyClass : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
rptMyRepeater.DataSource = GetMyDataSource();
rptMyRepeater.DataBind();
}
}
}
我遇到的问题是无法识别rptMyRepeater。请注意,我从其他项目中复制了这些文件,因此没有designer.cs文件。
我遇到this问题意味着“转换为Web应用程序”可以解决问题。由于我引用的是CodeFile而不是CodeBehind,这是否适用,还是有更好的方法?在这种情况下,设计文件是否必要?
答案 0 :(得分:2)
如果您所说的是您没有designer.cs的内容,请将其添加到designer.cs:
protected global::System.Web.UI.WebControls.Repeater rptMyRepeater;
如果您根本没有designer.cs文件,请将其添加到aspx.cs -i.e codefile-并且它应该可以工作。
这简直就是设计师文件应该做的事情,控件和我看到的类变量没什么不同。
答案 1 :(得分:0)
你可以检查几件事: