日期:2014-05-18  浏览次数:20419 次

asp.net 在VS2008中当前上下文中不存在名称“txtStuName"的问题
reg2.aspx.cs 部分代码如下:

  public partial class reg2 : System.Web.UI.Page
  {
  protected void btnFinish_Click(object sender, EventArgs e)
  {
  Student s = new Student();
  s.StuNo = this.txtStuNo.Text;
  s.StuPwd = txtPwd.Text;
  s.StuName = txtStuName[color=#FF0000][/color].Text;
  }
  }


这个是reg2.aspx最上面的:
 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="reg2.aspx.cs" Inherits="reg2" %>


错误1: “reg2”不包含“txtStuNo”的定义,并且找不到可接受类型为“reg2”的第一个参数的扩展方法“txtStuNo”(是否缺少using指令或程序集引用?)
错误2: 当前上下文中不存在名称“txtPwd”;
错误3: 当前上下文中不存在名称“txtStuName”;

  我是刚学asp.net的菜鸟。这个txtStuNo是文本框的id,在VS2008中输入时可以智能出来,为什么运行时就出现这个错误。找半天找不出来。各位大侠,这是什么原因啊,敬请指教,感激不尽。



1554675589@qq.com

------解决方案--------------------
先删除,再拖一个文本框到页面,把ID修改成txtPwd
------解决方案--------------------
http://hi.baidu.com/iceipod/blog/item/f575cc45217999076a63e553.html/cmtid/29380f145d903706c83d6d1b
------解决方案--------------------
测试没有出现你说的异常,观察你的textbox ID 写对了没有。
------解决方案--------------------
清理一下项目试一试
------解决方案--------------------
或者呢。先切换到版面。再切换到代码。。再运行。
------解决方案--------------------
将你的txtStuNo、txtPwd、txtStuName一次这样改

1.将你的客户端控件加runat ="server",如下
<input type=text ID=”txtStuNo“ runat ="server" />

2.也可以用服务端控件,如:
<asp:TextBox ID=“txtStuNo” runat="server" />
------解决方案--------------------
你没有引入命名空间或者是你的textBox的ID不是txtPwd,才会导致此错误。我刚开始学的时候也遇到过同样的问题。
------解决方案--------------------
我的同学也碰到过这样的问题,可能是当前.aspx的头引用文件<%@.....%>在其他的.aspx的头引用文件中也有出现 也就是其它页面的CodeFile和 Inherits属性写错了。