2016-06-14 58 views
0

所以我是C#和ASP的新手,我试图创建一个非常基本的表单来执行计算。但是,在我实际实现计算部分之前,我只是试图通过使其更改按钮的名称而不是其他任何东西来对表单进行简单测试。但是,我的代码没有编译,我不明白为什么。如果我犯了一个明显的错误,请原谅我,我只是想在这里做一个简单的应用程序,而我之前几乎没有做过任何与C#或ASP的任何事情。 所以,我有一个HTML表单(其具有按钮,表单字段等)的唯一参考C#代码感:这个ASP(C#)表单代码不会编译,不知道发生了什么

<asp:Button id="calculate" 
     Text="Calculate" 
     OnClick="CalculateBtn_Calculate" 
     runat="server"/> 

其被放置后的(当前未使用的和未标记)表单域。基本上,即使我要添加一个计算它的事件,现在我只需要按钮代码。唯一的问题是我的测试代码不能编译,我是新的,我不知道为什么。 我的C#代码是:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Main 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    CalculateBtn_Calculate += new EventHandler(this.CalculateBtn.Click); 
} 
void CalculateBtn_Calculate(Object sender, 
         EventArgs e) 
{ 
    Button clickedButton = (Button)sender; 
    clickedButton.Text = "...button clicked..."; 
    clickedButton.Enabled = false; 

} 

} 

,当我编译我得到的错误是:

错误5 'ASP.default_aspx' 不实现接口成员 “System.Web.IHttpHandler.IsReusable 'C:\用户[审查] \应用程序数据\本地\ TEMP \临时 ASP.NET文件\根\ ab2ef4aa \ 781a850f \ App_Web_lvhfdmq2.0.cs 172

错误3 'ASP.default_aspx.GetTypeHashCode()':找不到合适的方法 覆盖c:\ Use RS [审查] \应用程序数据\本地\ TEMP \临时ASP.NET 文件\根\ ab2ef4aa \ 781a850f \ App_Web_lvhfdmq2.0.cs 538

错误4 'ASP.default_aspx.ProcessRequest(System.Web.HttpContext)' :没有 合适的方法发现 倍率C:\用户[审查] \应用程序数据\本地\ TEMP \临时ASP.NET 文件\根\ ab2ef4aa \ 781a850f \ App_Web_lvhfdmq2.0.cs 543

错误2“ASP .default_aspx.SupportAutoEvents':找不到合适的方法 覆盖c:\ Users [审查] \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ ab2ef4aa \ 781a850f \ App_Web_lvhfdmq2.0.cs 199

错误6“主”不包含“CalculateBtn”和无 扩展方法的定义“CalculateBtn”接受型 “主”的第一个参数可以找到(是否缺少using指令或程序 组件 参考?)C:\ aspnet \ XEx02Quotation \ Default.aspx.cs 14 57 XEx02报价

错误1确保此代码文件中定义的类匹配 “inherits”属性,并且它扩展了正确的基类(例如 Page或 UserControl)。 C:\ aspnet \ XEx02Quotation \ Default.aspx.cs 8 33 XEx02报价

任何人都可以帮我弄清楚这里有什么问题吗?

+0

删除此行CalculateBtn_Calculate + =新的EventHandler(this.CalculateBtn.Click);在你的page_load事件中。请把你的aspx标记也放在html标签之前的上半部分。 –

+0

删除该行,仍然无法构建。 <%@ Page Language =“C#”AutoEventWireup =“false”CodeFile =“Default.aspx.cs”Inherits =“_ Default”%> – inaprniac

+0

您能否将错误放入代码块? –

回答

0

如果您从后端分配事件,则无需在标记中指定OnClick="CalculateBtn_Calculate"。并且您将一个事件分配给一个方法,而不是将该方法分配给一个事件。请参见下面的代码:

ASP代码:

<asp:Button id="CalculateBtn" Text="Calculate" runat="server"/> 

C#

protected void Page_Load(object sender, EventArgs e) 
{ 
    this.CalculateBtn.Click += new EventHandler(CalculateBtn_Calculate); 
} 
+0

这仍然没有工作,同样的错误。 – inaprniac

+0

IT在我的机器上正常工作,您能否确认按钮的ID和'This。** CalculateBtn **。Click'是一样的 –

+1

@不幸运最有可能您的页面具有正确的基类... –