C# aspx文件不包含函数的定义,已连接的aspx.cs文件中的定义

C# aspx文件不包含函数的定义,已连接的aspx.cs文件中的定义,c#,asp.net,onclick,code-behind,C#,Asp.net,Onclick,Code Behind,Andrei给出的答案(在他对答案的评论中为我解答的部分) 我想再按一次按钮,但我要 “ASP.views\U home\U index\U aspx”不包含“btnCreateOrder\U Click”的定义,并且找不到接受“ASP.views\U home\U index\U aspx”类型的第一个参数的扩展方法“btnCreateOrder\U Click”(是否缺少using指令或程序集引用?) 我的代码: Index.aspx: <%@ Page Language="C#" M

Andrei给出的答案(在他对答案的评论中为我解答的部分)

我想再按一次按钮,但我要

“ASP.views\U home\U index\U aspx”不包含“btnCreateOrder\U Click”的定义,并且找不到接受“ASP.views\U home\U index\U aspx”类型的第一个参数的扩展方法“btnCreateOrder\U Click”(是否缺少using指令或程序集引用?)

我的代码:

Index.aspx:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" AutoEventWireup="true" CodeBehind="Index.aspx.cs" %>
*THERE IS A COMMENT ABOUT THE INHERIT NEAR THE END OF MY POST*
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2><%: ViewData["Message"] %></h2>
    <table id="productTable">

    </table>
    <asp:Label ID="testMessage" runat="server" Text="fail"></asp:Label>
    <p>
        To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
    </p>

    <asp:Button ID="btnCreateOrder" runat="server" Text="Create Order" onclick="btnCreateOrder_Click" />

</asp:Content>

*在我文章的末尾有一条关于继承的评论*
.

Index.aspx.cs:

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

namespace MyProject.Views.Home
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
    {


        System.Diagnostics.Debug.Write("Testing");
        XmlTextReader reader = new XmlTextReader("data/products.xml");

        while (reader.Read())
        {

            System.Diagnostics.Debug.Write(reader.Name);

        }


        int numRows = 21;
        int numCells = 4;
        for (int rowNum = 0; rowNum < numRows; rowNum++)
        {
            TableCell cel = new TableCell();

        }
    }

    public void btnCreateOrder_Click(object sender, EventArgs e)
    {
       System.Diagnostics.Debug.Write("Testing");
    }

}
使用系统;
使用System.Web;
使用System.Web.UI;
使用System.Collections.Generic;
使用System.Web.UI.WebControl;
使用System.Xml;
使用System.Linq;
命名空间MyProject.Views.Home
{
公共部分类索引:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
系统、诊断、调试、写入(“测试”);
XmlTextReader=newXMLTextReader(“data/products.xml”);
while(reader.Read())
{
System.Diagnostics.Debug.Write(reader.Name);
}
int numRows=21;
int numCells=4;
对于(int-rowNum=0;rowNum
在一个半相关的注释中,我也不能让页面加载在上面运行。嗯,页面加载。(因此需要调试“测试”),所以如果你知道那里出了什么问题,那也太棒了:)

继承注释 有人建议我将继承更改为MyProject.Views.Home.Index,但是我需要System.Web.Mvc.ViewPage来处理Mvc布局,如果没有它,我会得到:System.InvalidOperationException:“~/Views/Home/Index.aspx”处的视图必须派生自ViewPage、ViewPage、ViewUserControl或ViewUserControl。 所以…是的,除非我想把我的函数放在其他地方,比如控制器文件中(我是Visual Studio新手),否则我不确定该怎么做:/

我已经看到,更改继承可以修复它,但是如果我将它设置为正确的文件指令,它会破坏它(MyProject.Views.Home会破坏它),它返回“无法加载类型‘MyProject.Views.Home’。”所以不确定那里发生了什么。除此之外,是的,它们在同一个文件夹中,是的,它们被附加了,显然它被设置为代码隐藏

提前感谢


PS如果一些括号是错误的,那只是因为我搞砸了格式,不要在这里发布,永远,对不起!

你在页面的
继承属性中有错误的值。实际的代码隐藏类应该在那里:

Inherits="MyProject.Views.Home.Index"

页面的
继承属性中的值错误。实际的代码隐藏类应该在那里:

Inherits="MyProject.Views.Home.Index"

看起来您的Index.aspx页面没有连接到使用代码隐藏文件中使用的同一类


尝试将您的
继承Index.aspx中的
属性从
System.Web.Mvc.ViewPage
更改为
MyProject.Views.Home.Index

看起来您的Index.aspx页面没有连接到使用代码隐藏文件中使用的同一类


尝试将您的
继承Index.aspx中的
属性从
System.Web.Mvc.ViewPage
更改为
MyProject.Views.Home.Index

您的页面应继承
System.Web.Mvc.ViewPage

将.aspx页面上的整个顶行更改为

<%@ Page Language="C#" 
MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="MyProject.Views.Home.Index" 
AutoEventWireup="true" 
CodeBehind="Index.aspx.cs" %>

您的页面继承了
System.Web.Mvc.ViewPage
,此时它应该是
MyProject.Views.Home.Index

将.aspx页面上的整个顶行更改为

<%@ Page Language="C#" 
MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="MyProject.Views.Home.Index" 
AutoEventWireup="true" 
CodeBehind="Index.aspx.cs" %>


这里的问题是,由于Mvc布局,我必须从System.Web.Mvc.ViewPage继承,而且从我的研究中无法从两个源继承,我会在其他地方执行.cs操作吗(例如,在HomeController.cs文件中,System.Web.Mvc.ViewPage用于访问该文件)?@user2172534,您可以尝试从
System.Web.UI.page
而不是从
System.Web.Mvc.ViewPage
继承
索引
页面的代码隐藏类。由于页面属性
继承
的含义稍有不同,请参见。@user2172534,顺便说一句,
继承
的正确值不是命名空间正如您在编辑中所建议的那样。它是一个类,因此值应该是
MyProject.Views.Home.Index
。我必须继续学习所有这些继承的东西哈哈,感谢您的指导和帮助!这里的问题是,由于Mvc布局,我必须从System.Web.Mvc.ViewPage继承,而从我的研究来看,没有继承的方法从两个来源来看,我会在其他地方执行.cs操作吗(比如在HomeController.cs文件中,System.Web.Mvc.ViewPage用于访问该文件)?@user2172534,您可以尝试从
System.Web.UI.page
而不是从
System.Web.Mvc.ViewPage
继承
索引
页面的代码隐藏类。由于页面属性
继承
的含义稍有不同,请参见。@user2172534,顺便说一句,
继承
的正确值不是命名空间正如你在编辑中所建议的。它是一个类,所以值应该是
MyProject.Views.Home.Index
。我必须学习所有这些继承的东西哈哈,谢谢你的指导和帮助!谢谢,但不幸的是,这不起作用,因为它是MVC格式的,所以也许我应该把函数放在其他地方?请参阅我的pos更多信息,请参见结尾处标记为“继承注释”的部分:)谢谢,但不幸的是,这不起作用,因为这是MVC格式的,所以也许我应该将函数放在其他地方?请参见我的文章中的部分