![](/img/trans.png)
[英]Execute a C# void from javascript function in aspx webform
[英]Call C# function from Javascript in aspx webform and then reload page
試圖弄清楚如何在Web表單中調用ac#函數。 我同時嘗試了ajax和windows.location,但是可能就在我的路上了。 試圖在SpeakerList.aspx / update上發送我的C#代碼,然后附加兩個我在javascript中擁有的變量,這應該不會太糟糕。 但是希望它命中C#函數然后重新加載頁面,因此希望這里只是一個簡單的調用而已。
buttons: {
"Save": function () {
var combo = ASPxClientControl.GetControlCollection().GetByName('DropDownList1');
var value = combo.GetSelectedItem().value;
var billID = $("#billID").val();
window.location = "SpeakerList.aspx/updateRec";
}
您可能想嘗試使用WebMethods:
http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX.all
這樣,您就可以在后面使用JavaScript來調用頁面代碼中的函數。
假設您正在使用MVC,則可能要返回JSON結果。 在客戶端網頁中使用Json的一種簡單方法是使用JQuery。 您可以將JSON作為網頁的輸出返回,但我不建議這樣做。 創建一個表示JSON方法的單獨的服務點。
很難說出您實際上要完成什么,但是JSON方法的正常使用模式是將參數作為查詢字符串的一部分提供(可以根據需要使用路由進行重構)。 結果只是一個JSON數據包。
就個人而言,我喜歡用於服務器端JSON的JSON.Net,但實際上並不需要它。 查找JSONMethod以獲取示例等,這些示例將向您展示如何執行此操作。
從瀏覽器客戶端,JQuery有一個json方法,但是我個人建議使用更通用的ajax方法JQuery,以便您可以使用處理程序來獲得成功,錯誤和完成。 例如
$.ajax({
url: "http:...",
data: queryparm,
cache:false,
timeout:15000,
success: function(data){
jresult = $.parseJSON(data);
...
},
error:function (xhr, ajaxOptions, thrownError)
{
setErrorMsg("Error getting search results: " + thrownError);
}
});
編輯-實際上,我也使用webforms做過同樣的事情,代碼本質上是相同的(如果您在服務器端使用JSON.Net)。 您沒有用於使REST符合url的路由選項,但是作為內部json網絡服務,您可能根本不會在乎。
作為網頁(.aspx)頁面,可以使用“回發”,這是Web表單最簡單的方法。 如果不傳回本機“控件”值,則始終可以聲明一些隱藏字段以用於數據傳遞。 如果您不知道如何執行此操作,則需要閱讀有關使用Web表單的教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.