安德烈给出的答案(在他对他的回答的评论中为我解决了这个问题的部分)
试图点击按钮,但我得到了
“ASP.views_home_index_aspx”不包含“btnCreateOrder_Click”的定义,并且找不到接受“ASP.views_home_index_aspx”类型的第一个参数的扩展方法“btnCreateOrder_Click”(您是否缺少 using 指令或程序集引用?)
我的代码:
索引.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>
索引.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");
}
}
在一个半相关的说明中,我也无法让 Page_Load 运行......好吧,页面加载。(因此调试“测试”)所以如果你知道那里出了什么问题,那也太棒了:)
继承评论 有人建议我将继承更改为 MyProject.Views.Home.Index 但是我需要 System.Web.Mvc.ViewPage 来处理 MVC 布局,没有它我得到: System.InvalidOperationException: The view at ' ~/Views/Home/Index.aspx' 必须派生自 ViewPage、ViewPage、ViewUserControl 或 ViewUserControl。所以......是的,除非我应该把我的函数放在其他地方,比如控制器文件(我是 Visual Studio 的新手),不知道该怎么做:/
我已经看到更改继承可以修复它,但如果我将它设置为正确的文件指令,它会破坏它(MyProject.Views.Home 会正确)它返回“无法加载类型'MyProject.Views.Home'。” 所以不确定那里发生了什么。除此之外,是的,它们在同一个文件夹中,是的,它们已附加,显然它已设置为其代码隐藏。
先谢谢了!
PS如果某些括号是错误的,那只是因为我搞砸了格式,不要在这里发帖,永远,对不起!