2011-12-14 9 views
0

Site.Mater上のASP.Netアプリケーション上に座って、以下のこのコードは....アヤックスJSON複数のパラメータ

私は、Default.aspxページ、1 ASPから別の2つのパラメータを渡す必要がありますasp:テキストボックス

これを行う最も簡単な方法は何ですか?

あなたのjQueryのオートコンプリートで

 <script type="text/javascript"> 
     $(function() { 
       $(".tb").autocomplete({ 
       source: function (request, response) { 
        $.ajax({ 
         url: "TestWebService.asmx/FetchList", 
         data: "{ 'testName': '" + request.term + "'}", 
         dataType: "json", 
         type: "POST", 
         contentType: "application/json; charset=utf-8", 
         dataFilter: function (data) { return data; }, 
         success: function (data) { 
          response($.map(data.d, function (item) { 
           return { 
            value: item.Name 

           } 
          })) 
         }, 
         error: function (XMLHttpRequest, textStatus, errorThrown) { 
          alert(textStatus); 
         } 
        }); 
       }, 
       minLength: 2 

      }); 
     }); 

答えて

2

おかげで、あなたがこれまであなたdataパラメータを変更する必要があります。その後、

data: "{ 'testName': '" + request.term + "' ,lbl: '" + $(".lblClass").text() + "' ,txt: '" + $(".txtClass").val() + "'}" 

そして、あなたのサービスメソッドは次のように変更します。

[WebMethod] 
public List<string> FetchList(string testName, string lbl, string txt) 
{ 
    //... 
} 


注: .lblClassおよび.txtClassはそれぞれASPのクラスです:LableおよびASP:TextBox。

+0

ありがとう、これは素晴らしいですが、どのテキストボックスまたはラベルを渡すべきかはどのように分かりますか? (私はdefault.aspxページにいくつかのテキストボックスとラベルがあります) –

+0

最も簡単な方法は、 "class"という名前を割り当てることです。 – yek

+0

どうすればいいですか教えてください。 –