저는 웹 개발에 익숙하지 않고 다음과 같은 문제가 발생했습니다. Visual Basic으로 VS2010에서 작업.자바 스크립트로 드롭 다운 목록에 항목을 추가하고 포스트 백에 유지
gridview가있는 페이지 (aspx)가 있는데이 행에는 tickbox가있는 열과 'action'열이 있습니다. 여기에는 비어있는 숨겨진 드롭 다운 목록이 있습니다 (모든 행에는 이).
사용자가 상자를 틱 때마다 서버에서 AJAX 호출 (AJAX에서의 첫 번째 시도 인 :-)의 일부 값을 검색하고이 값을 사용하여 'action'열에 드롭 다운 목록을 채 웁니다. 선택된 행 여태까지는 그런대로 잘됐다.
사용자는 드롭 다운 목록에서 항목을 선택한 다음 버튼을 누르면 (업로드) 정보를 처리하기 위해 다시 게시가 수행됩니다.
그러나 코드 뒤에있는 드롭 다운 목록에서 추가 된 항목을 검색 할 수 없습니다 (선택한 값은 제외). 드롭 다운 목록을 가져올 수 있지만 항목이 없습니다.
인터넷 검색을 한 후 양식이 서버에 게시 될 때 클라이언트 측 변경 사항이 유지되지 않는다는 것을 깨달았습니다. 이해하지만 그것은 이상하게 보입니다. 페이지가 생성 될 때 드롭 다운이 만들어 지므로 javascipt가 추가 된 항목을 저장하지 않는 이유는 무엇입니까? 특히 몇 가지 해결 방법을 찾았으므로 추가 된 항목이나 selectedvalue를 저장하기 위해 숨겨진 필드를 사용했습니다. 숨겨진 필드에 저장할 수 있다면 왜 실제 드롭 다운 목록에 저장할 수 없습니까?
분명히 웹 사이트의 작동 방식을 이해하지 못합니다. 그러나 이것은 페이지가 처음로드 된 후 드롭 다운 및 목록 상자에서 값을 변경할 수 있음을 의미하지만 서버 측에서 사용할 수 없습니까?
편집 : 일부 코드; 나는 AJAX 호출을 통해 내가 검색 한 서로 다른 값을 추가하는 방법을 먼저 자바 스크립트 코드 조각이 잘 작동
var drop = row.findElement("ddlAction"); //find the dropdownelement in the DOM
for (j = 0; j < dropdownitems.length; j++) { //add all the options from xml
option = document.createElement("option");
option.text = dropdownitems[i].getAttribute("text");
option.value = dropdownitems[i].getAttribute("value");
drop.add(option, null);
}
, 드롭 다운리스트가 작성되고 내가 선택할 수 있습니다. 페이지가 게시됩니다 때 나는 서버 코드에서 다음을 수행하십시오
Dim SelCount As Integer = LocalFilesGrid.SelectedItems.Count
If SelCount >= 0 Then
For Each dataItem In LocalFilesGrid.SelectedItems
Dim drop As DropDownList
drop = dataItem.FindControl("ddlAction")
If drop.Items.Count = 0 Then 'always zero
MsgBox("Nope")
End If
Next
End If
내가 그리드의 선택된 행을 통해 루프 수 있도록하고 싶습니다
, 해당 드롭 다운리스트와 selectedvalue를 얻을.
SOF 사람들은'code please'를 보길 원할 것입니다. –