제목 : 'lstYear' 이름이 현재 컨텍스트에 없습니다.
글번호:
|
|
734
|
작성자:
|
|
김동환
|
작성일:
|
|
2008/08/29 오전 3:30:00 (2008/08/29 오전 3:31:00 수정)
|
조회수:
|
|
11892
|
현재 상황이..
CreateUser.aspx 라는 페이지에 드롭다운 리스트 콘트롤을 만들었는데 이 드롭다운 리스트 콘트롤을 CreateUser.aspx.cs 에서 접근하지를 못하네요. 메세지는 아래와 같구요.
참고로 FindControl를 이용해도 Datasource 와 같은 메소드는 못 쓰더라구요. 그래서 직접 접근해야 되는데 이게 안되니 참 문제네요. 마스터 페이지를 사용하면 원래 이렇게 되나요? 그러면 마스터 페이지는 있으나 마나 한거 아닌지..
컴파일 오류
설명: 이 요청을 제공하는 데 필요한 리소스를 컴파일하는 동안 오류가 발생했습니다. 아래의 오류 정보를 확인한 다음 소스 코드를 적절하게 수정하십시오.
컴파일러 오류 메시지: CS0103: 'lstYear' 이름이 현재 컨텍스트에 없습니다.
소스 오류:
줄 25: }
줄 26:
줄 27: lstYear.Datasource = year;
줄 28: }
줄 29:
소스는 다음과 같은데 길어서 중간 부분은 생략했어요. 회원가입하는 페이지에서 생년얼일 중 년을 받을려고 드롭다운 리스트를 만들었는데 소스 파일에서 접근을 못하네요.
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="CreateUser.aspx.cs" Inherits="member_CreateUser" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" ContinueDestinationPageUrl="~/Default.aspx" DuplicateEmailErrorMessage="입력한 이메일 주소가 이미 사용 중입니다. 다른 이메일 주소를 사용하세요." DuplicateUserNameErrorMessage="입력한 아이디가 이미 사용 중입니다. 다른 아이디를 사용하세요." InvalidEmailErrorMessage="올바른 이메일 주소를 입력하세요." OnCreatedUser="CreateUserWizard1_CreatedUser" UnknownErrorMessage="계정을 만들지 못했습니다. 다시 시도하세요.">
<WizardSteps>
<asp:CreateUserWizardStep runat="server">
<ContentTemplate>
<div class="createuserbox">
<table border="0" cellspacing="10" style="width: 550px">
<tr>
<th colspan="2">부가정보</th>
</tr>
<tr>
<td align="right" style="width: 65px; "><asp:Label ID="BlogLabel" runat="server" AssociatedControlID="Blog">블로그</asp:Label></td>
<td style="width: 446px; "><asp:TextBox ID="Blog" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td align="right" style="width: 65px;">
<asp:Label ID="BirthDayLabel" runat="server" AssociatedControlID="lstYear">생일</asp:Label></td>
<td style="width: 446px;">
<asp:DropDownList ID="lstYear" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="lstMonth" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="lstDay" runat="server">
</asp:DropDownList>
-> 문제의 그 드롭다운리스트들...
</td>
</tr>
<tr>
<td align="right" style="width: 65px;">
<asp:Label ID="MailingListLabel" runat="server" AssociatedControlID="chkMailingList">메일링 가입</asp:Label></td>
<td style="width: 446px;">
<asp:CheckBox ID="chkMailingList" runat="server" Checked="True" /></td>
</tr>
<tr>
<td align="center" colspan="1" style="width: 65px;"></td>
<td colspan="" style="height: 15px"><strong>
<asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
</strong></td>
</tr>
</table>
</div> </ContentTemplate>
<CustomNavigationTemplate>
<div style="float: left; padding-right: 0px; padding-left: 78px; padding-bottom: 0px; padding-top: 0px;">
<asp:Button ID="StepNextButton" runat="server" CommandName="MoveNext" Text="가입하기"
ValidationGroup="CreateUserWizard1" Height="30px" Width="80px"/>
</div>
</CustomNavigationTemplate>
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep runat="server">
<ContentTemplate>
<table border="0" cellspacing="10">
<tr>
<td>
계정을 만들었습니다.</td>
</tr>
<tr>
<td align="left" colspan="">
<asp:Button ID="ContinueButton" runat="server" CausesValidation="False" CommandName="Continue"
Text="계속" ValidationGroup="CreateUserWizard1" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:CompleteWizardStep>
</WizardSteps>
<FinishNavigationTemplate>
<asp:Button ID="FinishPreviousButton" runat="server" CausesValidation="False" CommandName="MovePrevious"
Text="이전" />
<asp:Button ID="FinishButton" runat="server" CommandName="MoveComplete" Text="마침" />
</FinishNavigationTemplate>
</asp:CreateUserWizard>
</asp:Content>
참고로 CreateUser.aspx.cs 의 소스는 다음과 같습니다.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class member_CreateUser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (true)
{
string[] year = new string[100];
string[] month = new string[12];
string[] day = new string[31];
for (int i = 0; i < year.Length; i++)
{
year[i] = Convert.ToString(System.DateTime.Now.Year - i);
}
lstYear.Datasource = year;
}
}
}
|
violeter33
2008-08-29 오전 9:43:22
|
aspx 에사 마스터의 레이블을 참조 하려는것인지..
그 반대인지..
도통 내용 파악하기 힘들어서..
태요탓넷 싸이트 검색결과 링크 걸어요~
http://www.taeyo.net/Forum/Content.aspx?SEQ=25437&TBL=ASPNET
|
|
|
ncore
2008-08-29 오후 1:17:26
|
마스터 페이지의 콘트롤을 참조하려는게 아니라..
자기 자신 페이지의 콘트롤을 참조하려는데 그게 안되네요. 근데 이 페이지는 마스터를 사용하고 있다는게 특징이고 그래서 안되는거 같다는 생각이 들었어요.
|
|
|
|