[英]passing key/value pairs from javascript to C# code behind
如果我想將鍵/值對從 javascript 傳遞到 C# ASP.NET 代碼后面,我應該使用查詢字符串參數、隱藏值還是其他方法? 值不是來自表單,所以 jquery 序列化或 params() 不起作用..我想我必須手動序列化它?? 值來自下拉列表(名稱/選定的選項文本)對
這就是 JSON 的用途。 大多數 Javascript 框架都內置了 JSON 串行器。 可能 C# 也有一個 JSON 模塊(但我不知道)。 您也可以使用 XHR 發送它。
最簡單、最普遍兼容的方法是將鍵值集合附加到查詢字符串。 它將在HttpContext.Request.QueryString
的 ASP.NET 中可用。
話雖如此,有多種方法可以實現您的目標。 您可以使用序列化值發送$.ajax
請求。 如果想通過對表單進行序列化獲取jQuery中的序列化值,可以在序列化之前在表單中添加元素。
我遇到過同樣的問題。 我通過以下方式解決它:
我在JavaScript的foreach循環中准備了我的數組
var itemIdVersionCollection = [];
var itemName = row[1];
var version = row[2];
var key = { Key: itemId , Value: version };
itemIdVersionCollection.push(key);
我的Model是這樣的:
public class IdVersion
{
public int? Key { get; set; }
public string Value { get; set; }
}
public class SomeModel
{
public List<IdVersion> ItemIdVersion { get; set; }
}
行動:
Public ActionResult MethodName(SomeModel model)
可能最好將其作為 JSON 傳遞,然后使用 JSON 庫(或 WCF)進行轉換
您可以通過隱藏服務器標簽並在回發按鈕上包含 onclientclick 屬性來實現此目的。
<input id="hdnKV" runat="server" />
<asp:Button id="btnSubmit" runat="server" onclientclick="selectKeyValues();" onclick="btnSubmit_OnClick">Submit</asp:Button>
此 onclientclick javascript function 將從您的鍵值對中填充此隱藏值。
function selectKeyValues() {
var kv= getKeyValues(),
hiddenValue = document.getElementById('<%= hdnKV.ClientID =>');
hiddenValue.Value = kv;
}
沒有說明您擁有什么數據,但您可能可以將以下格式用於鍵值對。
key1=value1,key2=value2,key3=value3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.