我正在尝试编写一个基本的 ASP.NET 表单(使用 Visual Studio 2010)将数字提交到数据库。因为这是我使用 ASP.NET 的早期尝试,所以我一开始写得很简单,现在我正在尝试添加剩余的功能。最初,一切都是内联代码。现在我正在尝试将其切换为使用代码隐藏页面,但我无法让它从我的代码隐藏文件中解析我的文本框的名称。我在遵循一些教程的同时构建了这些页面,并查看了其他几个资源以尝试解决此问题,但到目前为止我所看到的一切似乎表明我已经为代码隐藏设置了所有内容,但它不起作用。VS 在编译期间给出错误,说明文本框名称在当前上下文中不存在。当我删除对文本框的所有引用时,页面工作并且我的按钮事件触发。protected TextBox XcoordTextbox;
(就像我相信你会在 ASP.NET 1.0 中一样)但是我得到一个运行时错误CS0102: The type 'ManualEntry.default_aspx' already contains a definition for 'XcoordTextbox'
下面是我的代码的重要部分。你能帮忙解释为什么这不起作用吗?
ASPX 文件
<%@ Page Language="C#" CodeFile="default.aspx.cs" Inherits="ManualEntry.default_aspx" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"></head>
<body>
<form id="HtmlForm" runat="server">
<div>
X Coord
<asp:TextBox ID="XcoordTextbox" runat="server"></asp:TextBox>
<br />
Y Coord
<asp:TextBox ID="YcoordTextbox" runat="server"></asp:TextBox>
<asp:Button ID="SubmitButton" runat="server" onclick="SubmitButton_Click" Text="Submit" />
</div>
</form>
</body>
</html>
代码隐藏文件
using System;
using System.Web.UI;
namespace ManualEntry
{
public partial class default_aspx : Page
{
protected void SubmitButton_Click(object sender, EventArgs e)
{
var Xcoord = XcoordTextbox.Text;
var Ycoord = YcoordTextbox.Text;
//More Code Here
}
}
}