簡體   English   中英

將JSON objet傳遞到代碼隱藏文件

[英]Passing JSON objet to Code Behind file

我已經使用ajax通過以下代碼將javascript對象中的JSON對象從javascript函數傳遞到文件(.cs)中的代碼,如下所示:

 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.aspx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}

在上面的代碼中,控件已成功轉到方法名稱為“ GetCity ”的Test.aspx.cs代碼隱藏文件。

我可以將JSON對象傳遞給用戶控件而不是頁面嗎? 例如,我可以創建一個名為Test的用戶控件,並將上述代碼的url更改為:url:'/Test.ascx/GetCity',代碼將如下所示:

 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.ascx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}

目前,該控件不會轉到文件后面的用戶控件Test.aspx.cs代碼。 是否可以將JSON對象傳遞給用戶控件?

任何幫助將不勝感激。 提前致謝。

不確定我是否滿足您的需求,但幾個月前我有類似的需求,也許此鏈接可以提供幫助(請參閱Ajith S Nair的評論): https : //forums.asp.net/t/2022191.aspx?如何+在+ MVC中創建+ a + user + control +

如果將他的擴展名與類似於ajax代碼的東西結合使用,則可能是您的解決方案:

!function ($) {
"use strict";
$.ajax({
    type: "POST",
    url: "/ControllerName/MethodName",
    data: "{city:" + JSON.stringify(user) + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {//Success code},
    failure: function (response) {//Failure code},
    error: function (response) {//Error code}
})};

希望對您有所幫助!

暫無
暫無

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

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