2012-11-26 6 views
1

내 HTML 페이지에서 자바 스크립트로 루프에 몇 개의 텍스트 상자를 만듭니다. 내부 루프에서자바 스크립트로 생성 된 컨트롤 값이 서버에 게시되지 않습니다.

코드 : 나는 누르면

var row = myTable.tBodies[0].insertRow(rowCount); 
var cell1 = row.insertCell(0); 
cell1.style.width = '40%'; 
var element1 = document.createElement("input"); 
element1.type = "text"; 
element1.className = 'textSub'; 
element1.id = 'txtOndNr' + rowNr; 
cell1.appendChild(element1); 

의 I는 그 값의 서버 측을 액세서 수없는 것 버튼을 제출합니다. 나는 그들이 서버 컨트롤이 아니라는 것을 알고있다. 그러나 request.form ("id")를 통해 그들에게 접근하기를 희망했다. 또한 방화 광을 확인할 때이 값은 게시 값에 없습니다 (컨트롤은 양식 태그 안에 있으며 문제는 아닙니다).

내가 뭘 잘못하고 있는지 알 수있는 사람이 있습니까?

추가 정보 : ASP.NET 1.1, 스크립트는

답변

0

뒤에 자바 스크립트 코드에서

document.getElementById('<%= hdnFornewlyCreated.ClientID %>').value = "stringcontainState"; 

에서 그냥 t를 발견 hat, 폼 값을 보내는 데 사용되는 ID가 아니라 NAME입니다. element1.id = 'txtOndNr' + rowNr;에서 element1.name = 'txtOndNr' + rowNr;으로 변경하면 Request.form ("txtOndNr0")으로이 값에 액세스 할 수 있습니다. 나 여기에

txtOndNr0 qsdf 
txtOndNr1 
txtOndNr2 qsdf 

가 약간 청소기 솔루션과 같은 불을 지르고 HTTP POST 요청을 검사 할 때

는 다음과 같습니다.

4

Asp.net 는 asp.net에 의해 생성되는 뷰 상태에서 컨트롤의 상태를 유지 ASCX에 있습니다. hidden field to store the state of newly created controls을 사용하고 나중에 상태/데이터에 대한 서버의 숨겨진 필드에 액세스해야합니다. HTML에서

<input type="hidden" runat="server" id="hdnFornewlyCreated" /> 

string state = hdnFornewlyCreated.Value; // Use this to extract state and data 
+0

흠 나는이 길을 택할 필요가 없길 희망했지만, 가능한 유일한 방법처럼 보입니다. 내 문제는 사용자가 그 페이지에서 원하는만큼 텍스트 상자를 만들 수 있다는 것입니다. 그래서 내가 얼마나 많은 txtboxes 거기에 hdn 만든 서버의 정확한 금액을 제공 할 수있을 것입니다 예측할 수 없기 때문에 포스트 백 전에 1 hdn 모든 txtbox 값을 저장해야합니다. 그리고 문자열은 서버 측에서 그 hdn의 결과를 조작합니다. – BBQ

+0

새로 만든 모든 텍스트 상자에 대한 모든 데이터를 숨겨진 단일 필드에 저장해야합니다. 클라이언트 측에서 생성 된 각 요소에 대해 서버 측에서 해석 및 추출 할 수있는 방식으로 데이터 서식을 지정하기 만하면됩니다. – Adil

관련 문제