2016-06-01 25 views
-2

私のパーシャルビューでコントローラメソッドを呼び出すと、一致するコントローラを見つけることができないというエラーメッセージが表示されますが、通常のビューであればコントローラを呼び出すことができます一致するコントローラMVCを見つけることができません

@using (Html.BeginForm("mkadmin", "Home", FormMethod.Post)) 

と私は

[HttpPost] 
public ActionResult mkadmin(string col) 
{ 
    // do stuff   
} 
を下回っている私のコントローラへの私の部分図であるのDataTableからデータをポストする必要がAJAX呼び出し

$.ajax({ 
    type: "Post", 
    url: '@Url.Action("mkadmin", "Home")', 

を使用して

モデルなしでパーシャルビューを作成しました。これは私に問題を引き起こしているだろうか?

@model IEnumerable<FutatillDataAnalytics.Models.RolesViewModel> 

<table id="dataTable" class="display" style="width:100%"> 
    <thead> 
     <tr> 
      <th> 
       @Html.DisplayNameFor(model => model.Id) 
      </th>   
      <th> 
       @Html.DisplayNameFor(model => model.UserName) 
      </th> 
      <th> 
       @Html.DisplayNameFor(model => model.RoleNames) 
      </th>    
     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
      <th> 
       @Html.DisplayNameFor(model => model.Id) 
      </th>    
      <th> 
       @Html.DisplayNameFor(model => model.UserName) 
      </th> 
      <th> 
       @Html.DisplayNameFor(model => model.RoleNames) 
      </th>   
     </tr> 
    </tfoot> 

    <tbody> 
     @foreach (var item in Model) 
      { 
      <tr> 
       <td> 
        @Html.DisplayFor(modelitem => item.Id) 
       </td>    
       <td> 
        @Html.DisplayFor(modelitem => item.UserName) 
       </td> 
       <td> 
        @Html.DisplayFor(modelitem => item.RoleNames) 
       </td>     
      </tr> 
     } 
    </tbody> 
</table> 

<div id="tab" style="float: right; padding-top:20px" class="btn-group" data-toggle="buttons-radio"> 
    <button id="btnMKAD" type="button" onclick="MakeAdmin()" class="btn btn-large btn-success " data-toggle="tab">Make Admin</button> 
    <button type="button"onclick="RemoveAdmin()" class="btn btn-large btn-danger" data-toggle="tab">Remove Admin</button>  
</div> 

<script> 
     //DataTable 
     $(document).ready(function() { 
      var table = $('#dataTable').DataTable({ 
       "columnDefs": [ 
       { 
        "targets": [0], 
        "visible": false, 
        "searchable": false 
       }] 
      }); 

     // //Table Row Selection 
     // $('#dataTable tbody').on('click', 'tr', function() { 
     // $(this).toggleClass('selected'); 
      //}); 

      // Single Row Selection 
      $('#dataTable tbody').on('click', 'tr', function() { 
       // get selected row data and retireve the data from col 1 which is hidden. 
       var selected = (table.row(this).data()); 
       var col = selected[0]; 
       admin(col) 

       if ($(this).hasClass('selected')) { 
        $(this).removeClass('selected'); 

       } 
       else { 
        table.$('tr.selected').removeClass('selected'); 
        $(this).addClass('selected'); 
       } 
      }); 
     }); 

     function admin(col) { 
      $.ajax({ 
       type: "Post", 
       url: '@Url.Action("mkadmin", "Home")', 
       data: { col }, 
       success: function (data) { 

       }, 
       error: function (data) { 
        $('#byCustomer').html('<h3>Error in retrieval</h3>'); 
       } 
      }); 
     }; 
</script> 
+1

どのようにあったことを決して解放コードを部分的に表示していますか?そのコードを表示してください –

+0

問題を再現できるように、より多くの情報が必要です。 – Win

+0

部分ビューを追加しました@Ehsan Sajjad – user6295447

答えて

1

Spivoniousが、私はそれが今働いている、問題は私のコードでURLをしたおかげで、私はこの記事を書いたとき、私は修正スペルミスがあったが、それは実際の問題

+0

うまくいけばうれしいです。 – Spivonious

関連する問題