C#问题,运行时显示"当前上下文中不存在名称'TextBox1'"。

这是.aspx文件<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="MyWebForm.aspx.cs"Inheri... 这是.aspx文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyWebForm.aspx.cs" Inherits="SamplePage" %>
<html >
<head id="Head1" runat="server">
<title>代码隐藏模式</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Button" />

</div>
</form>
</body>
</html>
这是.cs文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{

public partial class MyWebForm : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = DateTime.Now.ToString();
}
}
}
按照书上的代码敲的,运行时显示:当前上下文中不存在名称"TextBox1",是哪里错了?怎么改?
展开
 我来答
a405191552
2017-04-03 · TA获得超过398个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:142万
展开全部
其实每一个控件就相当于一个类对象,都是定义在designer文件里面的,你aspx文件下面应该有两个后台文件,一个是cs文件一个是designer.cs文件,aspx文件里面创建一个服务器控件的时候,designer文件会相应的生成一个相应的类变量,名称为这个控件的ID,这样cs文件才能直接通过ID对这个服务器控件操作。这其实跟平时的代码很相似,就像你要使用一个整型,你得先定义他,比如int i=1;这样你才能使用他,i=4;designer就是定义,cs就是使用,aspx作为前端显示。
追问
把Inherits改成“命名空间.类名”,运行成功了。为什么用设计器添加控件,designer.cs文件不会自动生成代码?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式