2015-04-10 5 views
1

Я пытаюсь создать реальный базовый набор информации с сайта, который я создаю, и он не работает, и я не могу понять, почему.Не удается получить доступ к текстовым полям в Visual Studio

Основы: У меня есть текстовое поле, называемое «txtUserName» в aspx-файле, поэтому я должен просто вызвать txtUserName.Text в файле aspx.cs. Но в нем говорится, что имя «txtUserName» не существует в текущем контексте.

Вот код.

Default.aspx имеет следующий код:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <table> 
    <tr> 
     <td> 
      User Name: 

     </td> 
     <td> 

      <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><asp:RequiredFieldValidator ForeColor="Red" ID="RequiredFieldValidator2" ControlToValidate="txtUserName" runat="server" ErrorMessage="* Required"></asp:RequiredFieldValidator> 
     </td> 

    </tr> 
    <tr> 

     <td> 
      Password: 
     </td> 
     <td> 

      <asp:TextBox ID="txtPWD" runat="server" TextMode="Password"></asp:TextBox> 
      <asp:RequiredFieldValidator ControlToValidate="txtPWD" ID="RequiredFieldValidator1" ForeColor="Red" runat="server" ErrorMessage="* Required"></asp:RequiredFieldValidator> 
     </td> 
    </tr> 
     <tr> 
     <td colspan="2"> 
      <asp:Button ID="btnSubmit" runat="server" Text="Login" OnClick="btnSubmit_Click" /> 
      <asp:Button ID="bttnRegister" runat="server" Text="Register" onClick="btnRegister_Click"/> 
     </td> 
    </tr> 

</table> 
    </div> 
    </form> 
</body> 
</html> 

Default.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.IO; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.Text; 
using System.Security.Cryptography; 



public partial class Default : System.Web.UI.Page 
{ 
    string myConnectionString = ConfigurationManager.ConnectionStrings["External"].ToString(); 


    public SqlConnection createConnection() 
    { 
     SqlConnection myConnection = new SqlConnection(myConnectionString); 
     myConnection.Open(); 
     return myConnection; 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     txtUserName.Text = "test"; 
    } 

ответ

1

Нажмите правую кнопку мыши на ASPX и нажмите конструктор. После этого txtUserName должен быть виден в коде. Время от времени эта ошибка возникает, другим решением является добавление вручную текстового поля в файл designer.cs.

+0

спасибо. По неизвестным причинам ничего не обновляло файл designer.cs, равно как и файл designer.cs не сообщал ничего о его изменениях. Мне пришлось удалять файлы и генерировать новые, но по крайней мере они работают сейчас. – user3461438

Смежные вопросы