我正在通过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;
}
}
}
答案 0 :(得分:2)
您的Page_Load
应为protected void Page_Load
答案 1 :(得分:1)
您在VS2012中使用的是什么视图?您可以尝试从代码视图翻转到设计器视图以刷新page.designer.cs。还要仔细检查designer.cs,以确保您的控件真的存在。
答案 2 :(得分:1)
右键单击页面并选择“转换为Web应用程序”。
答案 3 :(得分:0)
删除母版页并再次添加母版(并复制除页面指令之外的现有内容),然后还会添加设计器页面,问题将得到解决。