后面的代码中无法识别Web控件

时间:2013-03-15 01:32:42

标签: asp.net visual-studio-2012

我正在通过Visual Studio 2012为我的第一个网站(使用twitter oAuth)上课。我觉得这个问题很愚蠢,因为我确信它非常简单。

我无法让代码隐藏识别我的.aspx页面上的任何网页元素。我不确定我是否需要在选项中更改某些内容,或者我是否只是遗漏了某些内容。

我已经通过工具箱添加了一个文本框到“index.aspx”并给它id ='txtUserName'。当我尝试将txtUserName.Text分配给page_load中的变量时,我收到一条错误消息,指出当前上下文中不存在'txtUserName'。

希望有人可以让我咂嘴,我错过了一个简单的标签或其他东西。

的Index.aspx:

<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="index.aspx.cs" Inherits="TwitterTest.index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>TwitterTest!!!</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    Welcome to TwitterTest

    </div>
        <asp:TextBox ID="txtUserName" runat="server" Text=""></asp:TextBox>
    </form>
</body>
</html>

index.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Mvc;
using TweetSharp;

namespace TwitterTest
{
    public partial class index : System.Web.UI.Page
    {
        static void Page_Load(object sender, EventArgs e)
        {
            string UserName = txtUserName.Text;
        }

    }
}

4 个答案:

答案 0 :(得分:2)

您的Page_Load应为protected void Page_Load

答案 1 :(得分:1)

您在VS2012中使用的是什么视图?您可以尝试从代码视图翻转到设计器视图以刷新page.designer.cs。还要仔细检查designer.cs,以确保您的控件真的存在。

答案 2 :(得分:1)

右键单击页面并选择“转换为Web应用程序”。

答案 3 :(得分:0)

删除母版页并再次添加母版(并复制除页面指令之外的现有内容),然后还会添加设计器页面,问题将得到解决。