Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : 'lstYear' 이름이 현재 컨텍스트에 없습니다.
글번호: 734
작성자: 김동환
작성일: 2008/08/29 오전 3:30:00 (2008/08/29 오전 3:31:00 수정)
조회수: 11895
현재 상황이..

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
마스터 페이지의 콘트롤을 참조하려는게 아니라..

자기 자신 페이지의 콘트롤을 참조하려는데 그게 안되네요. 근데 이 페이지는 마스터를 사용하고 있다는게 특징이고 그래서 안되는거 같다는 생각이 들었어요.

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 팝업의 그리드 뷰에서 체크한 값만 부모창에 바인딩 - 전창훈 2008-08-29 6021
현재글 'lstYear' 이름이 현재 컨텍스트에 없습니다.(2) - 김동환 2008-08-29 11895
다음글 Connectin String 질문입니다. ㅜㅜ(2) - 김동환 2008-08-27 5314
 
손님 사용자 Anonymous (손님)
로그인 Home