在我的網站中,我聲明一個數組在javascript中,並動態地插入它們的元素。所以現在,我想從我的C#代碼中使用該數組。我不想使用ajax將該元素髮送到Web服務......我只想使用C#事件,如OnClick並訪問在javascript中構建的數組。從javascript傳遞數組到後面的代碼 - C#
我搜索了一個答案,但我剛剛找到了oposite。 謝謝
在我的網站中,我聲明一個數組在javascript中,並動態地插入它們的元素。所以現在,我想從我的C#代碼中使用該數組。我不想使用ajax將該元素髮送到Web服務......我只想使用C#事件,如OnClick並訪問在javascript中構建的數組。從javascript傳遞數組到後面的代碼 - C#
我搜索了一個答案,但我剛剛找到了oposite。 謝謝
最簡單的方法是AJAX調用,我不明白你爲什麼要避免這種情況?
通過點擊按鈕進行AJAX調用。
例如:隱蔽你的數組JSON字符串,並在C#代碼中調用的Web客戶端。在這裏我有一個按鈕。按鈕單擊我想將我的GRIDVIEW數據發送到C#方法(網絡方法)。
您需要記住,在服務器端使用stringfy()
方法, 發送json數據時,我們需要將參數定義爲對象。 沒有任何其他格式一樣串/ INT /喇嘛喇嘛..... 使用Scripts/jquery-1.8.3.min.js
http://code.jquery.com/ui/1.10.3/jquery-ui.js
$('#btnResult').on('click', function() {
var mydata = [];
$("#<%=GridProjectDetails.ClientID %> tr").each(function() {
var myObject = new Object();
var id = $(this).find("input[name*='ID']").val();
var locationcode = $(this).find("input[name*='TextLocationCode']").val();
var Location = $(this).find("input[name*='TextLocation']").val();
myObject.id = id;
myObject.locationcode = locationcode;
myObject.Location = Location;
mydata.push(myObject);
});
var myString = JSON.stringify({ details: JSON.stringify(mydata) });
alert(myString);
var exportdata = myString;
$.ajax({
type: "POST",
url: "Default.aspx/ExportToExcel",
data: exportdata,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$("#Result").text(data.d);
},
error: function() { alert(arguments[2]); }
});
});
});
和服務器端的方法應該是
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string ExportToExcel(object details)
{
return "Message : Success";
}
因爲我想提交一個具有uploadFile和數組的表單。所以,我不能/不知道如何使用一個同時接收文件和數組的Web方法,我決定創建一個事件點擊,這樣我就可以輕鬆訪問我的uploadFile控件。 – oteal
那裏有什麼問題的人?文件上傳將完成它的任務。你需要做的是獲取路徑併爲你的excel/csv文件創建連接字符串來訪問。我希望你已經完成了所有這些東西。沒有問題。導出/導入使用ajax點擊按鈕 - 非常簡單。 –
這是做一個有點怪異的事情,但如果你必須這樣做,你可以通過創建一個表單來實現,在表單內部有一個隱藏的文本字段,並在提交時更新該字段的值時調用一個函數。
的標記:
<form id="yourForm" method="post" >
<input type="text" name="hiddenFieldName" id="hiddenFieldName" hidden="hidden" />
</form>
的JavaScript:
void yourProcedure() {
var yourArray = ["Value1", "Value2", "Value3", "Value4"];
document.getElementById('hiddenFieldName').value = yourArray.join();
document.getElementById("yourForm").submit();
}
然後,在服務器中,形式變量將包含 「值1,值,值3,值4」。
如果數組值經常更改,您會做什麼? –
什麼會改變數組值?如果服務器需要知道每一個變化,你不能避免HTTP POST或者獲取方法,所以我們想知道在服務器決定使用解決方案之前,服務器是如何處理數組值的.-) –
如果你想從客戶端到服務器,你將不得不在一定程度上實現Ajax。 –
您必須將該序列化爲JSON的數組的值存儲在隱藏字段中。然後,您可以在點擊時訪問該隱藏字段,對其進行反序列化,並在服務器端對其進行處理。 –
您需要了解_server-side_code和_client-side_code之間的區別。 – SLaks