簡體   English   中英

如何將控件值從javaScript傳遞給C#WebMethod

[英]How to pass control values from javaScript to a C# WebMethod

我一直堅持這個問題一段時間,真的可以使用一些建議......

我正在開發一個ASP.Net網頁,到目前為止,它有大約60個控件(文本框,復選框和下拉列表),其中一些來自Web用戶控件。 如果可能的話,我想在沒有回發的情況下保存數據。 我試圖通過AJAX實現這一點,但無法用C#web方法引用我的控件。

無論如何在沒有回發的情況下調用常規C#方法? 或者是通過將所有控件值的數組從JavaScript傳遞到C#Web方法來實現此目的的唯一方法? 如果是這樣,有沒有簡單的方法將所有控件值放入JavaScript中的數組中,然后放入C#中的DataTable

請隨意為此問題提出任何其他解決方案。

我在這里回答了類似的問題:

從客戶端調用asp.net ajax服務器控件的公共函數

你基本上設置了一個asmx服務,並添加一些腳本啟用屬性,讓腳本管理器生成一些ajax代理存根調用。

我最近在一個Web應用程序中做了這件事,我正在轉換表單更新面板,我的服務器調用看起來像:

var data = $("#inlineContent :input").serialize();
MyApplication.AttorneyService.PostAttorneyForm(data,
    function(result) { ... };
    function(error) { ... });

然后在服務器上,我將序列化字符串讀入字典,並使用它來填充知道如何將自身更新到sql server的業務對象。

客戶端

$.ajax({
            type: 'POST',
            url: "changebrands.aspx/UpdatePlan",
            data: '{token:"{0}", plan:"{1}"}'.format(token, currPlan),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (json) { //process return
            }

        });

服務器端(C#)

using System.Web.Services;

    [WebMethod]
    public static string UpdatePlan(string token, string plan)
    {
        //whatever
    }

如果您將字典的鍵命名為方法的參數,則可以直接調用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM