2016-06-01 4 views
-2

В моем частичном представлении, когда я перехожу к вызову метода контроллера, я получаю сообщение об ошибке, неспособное найти соответствующий контроллер, но если я в обычном режиме, я могу вызвать контроллер, используяНевозможно найти соответствующий контроллер MVC

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

и с помощью Ajax вызова

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

мне нужно размещать данные из DataTable, который находится на моем частичный вид на мой контроллер, который находится ниже

[HttpPost] 
public ActionResult mkadmin(string col) 
{ 
    // do stuff   
} 

Я создал частичный вид без модели. Это вызовет у меня проблему?

@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

Смежные вопросы