1

_doPostBack() を使用して JQuery から C# にパラメーターを渡そうとしていますが、何らかの理由で実際のパラメーターを取得できません。

私のJQueryは次のとおりです:-

    function SearchText() {
    $("#persons").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "JQAutoComplete2.aspx/FetchPersons",
                data: "{'name':'" + document.getElementById('persons').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                    var val = document.getElementById('persons').value;
                    _doPostBack('UpdatePanel1', val);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        },
        messages: {
            noResults: '', results: function () {
            }
        }

    });
}

私のコードビハインドは次のとおりです:-

        protected void UpdatePanel1_Load(object sender, EventArgs e)
    {
        var value = Request.Params["__EVENTARGUMENT"];


        RadGrid1.DataSource = ctx.GetDataFromXML(false, 0);
        RadGrid1.DataBind();
    }

このメソッドは呼び出されますが、val はメソッドに渡されず、EventArgument は "" のままです。

Request.Forms["_ EVENTARGUMENT"] も Request[ "_EVENTARGUMENT"] を試しましたが、それでも空の文字列が表示されます。

あなたの助けと時間をありがとう

4

1 に答える 1

0

クライアント側:

__doPostBack('id', '値');

sllが述べたように=> 2つのアンダースコア

サーバー側:

Request["__EVENTARGUMENT"]

ここでも2 つのアンダースコア

あなたは既に Request["_EVENTARGUMENT"] => を試したと書いていますが、2 つのアンダースコアを使用していません!

于 2013-03-11T16:53:16.777 に答える