2010-12-13 13 views
1

ASPNET MVC 2.0を使用しています。 jquery関数.ajaxを使用してViewからControllerへの値を渡そうとしています。

$(document).ready(function() { 
    $("#Search").click(function(event) { 

     var searchString = $("#TraderSearch").val();    
     $.ajax({ 
      type: 'POST', 
      url: '/Build/SearchTrader', 
      data: "{strData : '" + searchString + "' }", 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function(ResultList) { 
       var contents = ""; 
       var count = 0; 
       $(ResultList).each(function() { 
       contents = contents + '<tr><td>' + ResultList[count].Name + '</td><td>' + ResultList[count].Value + 
        '</td><td><a class="edit"><img src="../../html/images/Edit.gif" width="14" height="14" alt="edit" /></a></td></tr>'; 
        count = count + 1; 
       }); 
       $("#SerachResultList").append(contents); 
       alert("{strData : '" + searchString + "' }"); 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert("Error: " + textStatus + "\n" + errorThrown); 

      } 
     }); 


    }); 
}); 

そして、次のように私のコントローラの機能は次のとおりです:私のjqueryの関数である

public ActionResult SearchTrader(string strData) 
    { 


     //Function to search DB based on the string passed 

     return Json(lstDictObject); 
    } 

私の問題は、私は私のコントローラで値を取得することはできませんよ、ということです。私は 'null'としてstrDataを取得しています。私は値を渡そうとしている方法でソムの間違いがあると思いますか?誰でも私を修正できますか?事前に

おかげで、

Vipin Menonさん

+0

有効なJSONを試してください: '' {"strData": "'+ searchString +'"}} '、違いはありますか? –

+0

ルーティング問題になる可能性があります。デフォルトは 'おそらく' idに設定されています。新しいルートがあなたを助けるかもしれません。 –

答えて

0

これを試してみてください。

data: "strData = " + searchstring 
+0

なぜ-1?.... –

+0

私の投票ではありませんが、これはいくつかのレベルで正しくない、余分な間隔とエンコードの欠如が中心です –

0

を私は次のように動作するはずと信じて:

data: { strData: searchstring } 

引用は、スクリプト内で同じ問題を引き起こしました私はちょうどテストした。

実際のコードであれば、 "#SerachResultList"のスペルを確認する必要があります。

関連する問題