저자: Ao Shiwei 이메일: ikmb@163.com 저자와 재인쇄
참고: 1. js는 양식 요소의 클래스 속성에 따라 양식 요소의 이름과 값을 json 형식으로 결합합니다. 양식 요소는 JSON 데이터 결합을 효율적으로 대상으로 지정하는 데 사용할 수 있습니다.
2. 백엔드 ASP.NET은 JavaScriptSerializer를 사용하여 개체 배열로 역직렬화합니다.
3. 이점: 프런트엔드 데이터 읽기 및 백엔드 데이터 할당이 단순화되었습니다.
function GetJSONStr(class_name) {
var a = [];//텍스트 상자
$("." class_name).filter(":text").each(function(i) {
//alert(this.name) ;
//alert(this.value);
a.push({ 이름: this.name, 값: this.value })
}); -다운 목록
$("." class_name).filter("select").each(function(i) {
//alert(this.name);
//alert(this.value );
a.push({ 이름: this.name, 값: this.value })
})
//라디오 버튼
$("." class_name) .filter(" :radio").filter(":checked").each(function(i) {
//alert(this.name);
//alert(this.value);
a.push ({ 이름: this.name, 값: this.value });
//체크박스 시작
var temp_cb = ""
$(". " class_name) .filter(":checkbox").filter(":checked").each(function(i) {
if (temp_cb.indexOf(this.name) == -1) {
temp_cb = this.name ",";
});
var temp_cb_arr = temp_cb.split(",")
var cb_name = ""; = "" ;
for (var temp_cb_i = 0; temp_cb_i cb_name = temp_cb_arr[temp_cb_i]
var cb_value_length = $("input[name) ='" temp_cb_arr[ temp_cb_i] "']:checked").length;
$("input[name='" temp_cb_arr[temp_cb_i] "']:checked").each(function(i) {
if (i = = cb_value_length - 1)
cb_value = this.value;
else
cb_value = this.value ","
}); (cb_name);//alert(cb_value);
a.push({ name: cb_name, value: cb_value })
}
//체크박스 끝
/ /JSON으로 결합
var temp_json = "";
for (var json_i = 0; json_i < a.length; json_i ) {
if (json_i != a.length - 1) {
temp_json = '"' a[json_i].name '":"' a[json_i].value '",'
}
else {
temp_json = '"' a[json_i].name '":"' a[json_i].value '"';
}
}
return "{" temp_json "}";
}
ASP.NET
코드 복사
코드는 다음과 같습니다.
t_json t_json_object = Serializer.Deserialize< ;t_json>(r);
Response.Write(t_json_object.Name);
Response.End()
}
}
클래스 t_json
{
공개 날짜시간 이름
공개 문자열
}