asp.net 웹 양식 내에서 다음 코드를 사용하여 서버에서 만든 .net 개체 유형에 값을 다시 추가하고 싶습니다.asp.net의 클라이언트에서 서버 개체 유형을 업데이트
protected void Page_Load (object sender, EventArgs e)
{
if (!IsPostBack)
{
myArrayList.Add("Value 1");
myArrayList.Add("Value 2");
myBox.DataSource = myArrayList;
}
myBox.DataBind();
myTime.Text = DateTime.Now.ToString();
}
protected void btnAddText_Click (object sender, EventArgs e)
{
myArrayList.Add(mytext.Text.ToString());
myBox.DataSource = myArrayList;
myBox.DataBind();
}
public ArrayList myArrayList = new ArrayList();
클라이언트에서 텍스트 상자에 값을 입력하고 단추를 클릭하면 배열에 추가/추가됩니다. 현재, 버튼을 클릭하면 (예상대로) 배열이 null로 재설정됩니다. isPostBack을 사용하지 않으면 마지막 값만 예상대로 유지됩니다. 내가 asp : 조건부 업데이 트와 Ui에 updatepanels 있고 asp.net 페이지 수명주기 여전히 초기화,로드, pre-render 및 언로드 일으키는 포스트 백 발생합니다.
asp.net은 녹슬지 만, 이와 같은 시나리오는 세션 상태를 사용하고 조작을 위해 세션에 배열을 저장하는 최선의 (유일한) 접근법입니까, 아니면 뭔가 빠져 있습니까?
또한 viewstate가 사용할 수 있습니다
고맙습니다 yougotiger. 네, 당신은 페이지의 직렬화와 "bloating"에 맞습니다. 그 중 하나를 골라야한다면 세션 주 경로로 갈 것입니다. – rlcrews