0

ascx.cs

protected string BindData()
   {
    List<Product> products = product.GetRepeaterData(prod);
    string json = JsonConvert.SerializeObject(products);
     return json;
   } 

ascx

 <script type="text/javascript" language="javascript">
function doSomething() {

    $.ajax({
        type: "POST",
        url: "/ProgramListSimple.aspx/BindData",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            alert(msg);
        }
    });
 };

アラートを表示できません..ajax関数が想定どおりのことを行っているかどうかわかりません..このコードはユーザー制御用であり、aspxページではありませんか?デバッグ中に、シリアル化されたデータを json 文字列で確認できます。クライアント側でレンダリングされていないというだけです....朝から作業しているので、助けが必要です..例やドキュメントも役に立ちます..

4

2 に答える 2

1

dプロパティを使用する必要があります

alert(msg.d);

ChromeまたはFirefoxを使用してデバッグしている場合は、以下を使用してJavaScriptオブジェクトを検査します。

console.log("%o", msg);

Chromeで++を押しCtrlて、開発者コンソールを表示しShiftますJ

于 2012-10-17T20:31:27.207 に答える
1

新しい aspx ページを作成しました。すべてのコード ビハインド ロジックを ascx.cs から aspx.cs に転送しました。ajaxコールバックを使用して、ascxページからaspxページのURLを呼び出しました

        type: "GET",
        url:'<%=VirtualPathUtility.ToAbsolute("~/ProgramListSimpledetail.aspx") %>',
        data: dataObject,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) 

これが機能するために非常に重要な修正の小さな部分を追加しただけで、ascxページがapsxページからプロパティを継承するようにするために追加されたものがたくさんありました....しかし、それは主にだったと思います私のコードに関連しています...これが将来誰かに役立つことを願っています...貢献しようとしたすべての人に感謝します..

于 2012-10-30T19:16:15.253 に答える