Author: Ao Shiwei Email: ikmb@163.com Reprinted with the author
Note: 1. js combines the name and value of the form element into json format according to the class attribute of the form element; the class attribute of the form element can be used to target Combine JSON data efficiently.
2. The back-end ASP.NET uses JavaScriptSerializer to deserialize it into an object array.
3. Benefits: Simplified front-end data reading and back-end data assignment.
function GetJSONStr(class_name) {
var a = [];
//Text box
$("." class_name).filter(":text").each(function(i) {
//alert(this.name);
//alert(this.value);
a.push({ name: this.name, value: this.value });
});
//drop-down list
$("." class_name).filter("select").each(function(i) {
//alert(this.name);
//alert(this.value);
a.push({ name: this.name, value: this.value });
});
//Radio button
$("." class_name).filter(" :radio").filter(":checked").each(function(i) {
//alert(this.name);
//alert(this.value);
a.push ({ name: this.name, value: this.value });
});
//Check box starts
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 = "";
var cb_value = "" ;
for (var temp_cb_i = 0; temp_cb_i < temp_cb_arr.length - 1; 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 ",";
});
//alert(cb_name);
//alert(cb_value);
a.push({ name: cb_name, value: cb_value });
}
//End of check box
/ /Combined to 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
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
string r = Request.Form[ "msg"];
//{"Name":"MyName1","Single":"one"}
t_json t_json_object = Serializer.Deserialize(r);
Response.Write(t_json_object.Name);
Response.End();
}
}
class t_json
{
public DateTime Name;
public string Single;
}