웹 양식에서 데이터를 가져 와서 button_click
에 자바 스크립트를 사용하여 객체에 넣었습니다. 그런 다음 Ajax
및 JSON
을 사용하여 개체를 내 C# 코드의 메서드에 전달하려고했습니다.C#으로 자바 스크립트 객체 전달하기
자바 스크립트 :
$(document).ready(function() {
$("#go").click(function() {
$('#<%=gv_Rota.ClientID%>')
.find('tr')
.each(function (row) {
$(this).find('select')
.each(function (col) {
$ctl = $(this)
if ($ctl.is('select')) {
var shift = $ctl.val();
var day = row;
var wk = col + 1;
var objectitem = { ShiftId: shift, Day: day, Week: wk };
$.ajax({
url: '/Administration.aspx/StoreObject',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ myObject: objectitem })
});
}
});
});
});
});
C 번호 뒤에 : 자바 스크립트에서
[WebMethod]
public static void StoreObject(string[] myObject)
{
}
, 당신은 그것의 GridView 주위에 루프와의 GridView 내부 DropDownLists에서 selectedvalues
를 찾아 볼 수 있습니다. 따라서 Javascript는 여러 번 실행됩니다. 즉, 여러 개의 objectd가 전달됩니다.
예를 들어 DataTable 행에 C#으로 전달 된 모든 개체를 저장하는 방법은 '저장'단추를 누를 때 사용할 수 있습니다. 첫째, 나는 StoreArray
메서드에 무엇이 들어 있는지 잘 모르겠다. 두 번째로, DataTable을 유지하는 가장 좋은 방법이 무엇인지 모르겠다. '저장'버튼과 PostBack
으로, 이것으로 인해 재설정 될 것이라고 확신합니까?
js –
@EhsanSajjad Question 편집 된 객체가 아닙니다. 수정 해줘서 고마워. – EliotE123
아직 배열 객체가 아닙니다 –