2011-07-21 13 views
0

私はcshtmlの中で、telerikグリッドコントロールの行を選択した結果から部分的な表示を行う次のコードを用意しています。Ajax jsonコールで正しいURLを探してください

function onRowSelected(e) { 
    var tracksGrid = $('#Tracks').data('tGrid'); 
    articleID = e.row.cells[0].innerHTML; 

    alert(articleID) 

    var recordID = { id : articleID }; 

    $.ajax(
    { 
     type: 'html', 
     contentType: 'application/json; charset=utf-8', 
     data: JSON.stringify(recordID), 
     dataType: 'json', 
     url: '@Url.Action("Tracks", "Home")', 
     success: function (result) { 
      alert('Success'); 
     }, 

     error: function (error) { 
      alert('Fail'); 
    } 
}); 
} 

アラートにはIDが表示されます。ここまでは順調ですね。

しかし、私はURLが間違っていると思うし、何をするべきではない。 ホームコントローラでは、トラックには文字列IDが必要です。

public ActionResult Tracks(String id) 

私を助けてくれますか?

ありがとうございました

@ 3nigma Nice! error.responseTextでは_tracksがhtmlとして表示されます。例えばフィールドセット、凡例、テーブル、およびデータを含む10 私のpartialView:@model IEnumerableフィールドセット、凡例テーブル@foreach(モデル内のvarアイテム)、trにitem.Descriptionがあります。 他に何ができますか?

これは私のpartialview

@model IEnumerable<Web.Models.Tracks>   
<fieldset> 
    <legend>Tracks</legend> 
    <table> 
     <tr> 
      <td> 
       <div class="display-label"> 
        unitno</div> 
      </td> 
      <td> 
       <div class="display-label"> 
        Trackno</div> 
      </td> 
      <td> 
       <div class="display-label"> 
        Description</div> 
      </td> 
     </tr> 
     @foreach (var item in Model) 
     { 
      <tr> 
       <td> 
        <div class="display-field"> 
         item.Unitno 
        </div> 
       </td> 
       <td> 
        <div class="display-field"> 
         item.Trackno 
        </div> 
       </td> 
       <td> 
        <div class="display-field"> 
         item.Description 
        </div> 
       </td> 
      </tr> 

     } 
    </table> 
</fieldset> 

答えて

1
$.ajax(
    { 
     type: 'POST', //or GET or PUT etc see the DOCS for more info 
     contentType: 'application/json; charset=utf-8', 
     data:{id:articleID }, 
     dataType: 'json', 
     url: '@Url.Action("Tracks", "Home")', 
     success: function (result) { 
      alert('Success'); 
     }, 

     error: function (error) { 
      alert('Fail'); 
    } 
}); 

jquery ajax

+0

ない100%完璧です。私はトラックアクションに入ることができますし、部分的なビューは、linqクエリの結果でいっぱいになります。しかし、パーシャルビューはページに表示されません。 – 1SeoAdvies

+0

@NotFairTreated私はあなたが部分的なビューを取得/ロードする際の問題に直面していることを理解できませんでしたか? – Rafay

+0

私は説明しようとします。 – 1SeoAdvies

関連する問題