[英]Parse jQuery serialized data in C#
我的頁面上有一個ListBox。 我正在對C#函數進行AJAX調用,我需要傳遞所選項的值。 這就是我所擁有的:
$('#btnSubmit').click(function() {
$.ajax({
type: "POST",
url: 'Default.aspx/GetSelectedValues',
data: '{selectedValues: ' + $('#lbItems').serialize() + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess
});
});
<select id="lbItems" multiple="multiple">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
[System.Web.Services.WebMethod]
public static string GetSelectedValues(string selectedValues)
{
//
}
傳遞給C#函數的數據如下所示:
lbItems=1&lbItems=3&lbItems=5
是否有任何內置的C#函數可以輕松地反序列化,將值轉換為某種數組? 或者也許有更好的方法從jQuery傳遞數據?
這種類型的格式實際上很容易用字符串類'Split函數進行解析。
只需使用帶有&符號的string.Split來獲取作為您個人參數的字符串數組。 然后在等號上切割每個字符串以獲得一個雙元素數組,其中元素0是var名稱,元素1是值。
代碼示例:
string data = "lbItems=1&lbItems=3&lbItems=5";
string[] items = data.Split(new char[]{'&'});
foreach (string item in items)
{
string[] vals = item.Split(new char[]{'='});
Console.WriteLine(vals[0] + ": " + vals[1]);
}
如果您以JSON形式傳遞參數, .NET將自動為您反序列化JSON 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.