2011-12-29 3 views
1

내 ASP.NET 2.0 웹 양식에서 다음에 HiddenField 있습니다에 HiddenField는 코드 숨김 파일에서 참조 할 수 없습니다

<asp:HiddenField ID="HiddenModel" runat="server" 
OnValueChanged="HiddenModel_ValueChanged" /> 

이에서는 if..else 문에 내 코드 숨김 참조 HiddenModel :

if (serial.Text.ToString() != "0") 
{ 
CarpetMultiView.ActiveViewIndex = 1; 
HiddenModel.Value = model.SelectedItem.Text.ToString(); 
LabelCurrent.Text = "Your Current Selection is : 
Make-" + make.SelectedItem.Text.ToString() + " Model-" + 
model.SelectedItem.Text.ToString() + " S/N-" + serial.SelectedItem.Text.ToString(); 
Page.Title = make.SelectedItem.ToString() + " " + model.SelectedItem.ToString() + " " + 
serial.SelectedItem.ToString() + " " + "Carpet"; 
} 

VWD 2005를 사용하여 솔루션을 디버그하면 다음 오류가 발생합니다.

The name 'HiddenModel' does not exist in the current context  

My @Page 지시문 코드 숨김 클래스와 일치하는 carpet_template을 삭제합니다.

public partial class carpet_template : System.Web.UI.Page 

어떻게하면 좋을까요?

+0

이 코드 블록은 어떤 방법으로 나타 납니까? – Oded

+1

숨겨진 필드가 양식 안에 있습니까? – amelvin

+0

코드 숨김에서 HiddenField를 수동으로 선언하면 어떻게됩니까? 'Protected WithEvents HiddenModel As System.Web.UI.WebControls.HiddenField' 추가 팁을 보려면 여기를 참고하십시오 : http://stackoverflow.com/a/1981228/284240 –

답변

1

아래 링크에서 : "IIS에서 테스트하는 경우 VWD의 웹 사이트 메뉴로 이동하여 시작 옵션을 클릭하고 왼쪽 창의 트리에서"빌드 "를 클릭 한 후 드롭 다운 목록에서 "시작 페이지를 실행하기 전에" "어떤 빌드"를 선택합니다.

전체 이야기를 HERE.

0

코드가 페이지 수명주기의 컨텍스트를 벗어 났을 때 확신하기는 어렵지만 asp.net이 필드가 현재 존재 함을 받아 들일 수없는 것처럼 들립니다.

가장 논리적 인 이유는 숨겨진 필드가 페이지 수명주기에 아직 존재하지 않기 때문입니다 (page lifecycle 참조) - 페이지가로드되기 전에 또는 컨트롤이 렌더링되기 전에 실행되는 코드입니까?

양식에 문제가있는 경우이 동작이 발생할 수 있습니다 (예 : 숨김 필드가 양식 태그 내에없는 경우).

0

이 같은 모든 파일을 백업 복사본을 삭제합니다. 나는 같은 폴더에 같은 파일의 백업 복사본을 가지고, 그 백업을 삭제 한 후 파일 - 솔루션이 오류없이 컴파일됩니다.

아래 링크 : [slash84]
http://forums.asp.net/post/3060379.aspx

관련 문제