2016-09-18 4 views
0

Я имею в бритву foreach:Как передать значение из модели JavaScript

<ul> 
     @foreach (var node in Model) 
     { 
      var par = node.Id; 
      <li onclick="GetSubMenu(@node.Id)" id="@node.Id"> 
       @node.Title 
      </li> 
     } 
    </ul> 

в OnClick я назвал метод в:

function GetSubMenu(parentId) { 
    debugger; 
    $.ajax({ 
     type: "Get", 
     url: "/Menu/GetSubMenu", 
     data: { pageNumber: parentId }, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 

    }).done(function (result) { 

    }); 
} 

, но когда я нажимаю на <li>GetSubMenu делает не огонь, в чем проблема?

ответ

0

Попробуйте использовать атрибут данных.

<ul> 
     @foreach (var node in Model) 
     { 
      <li id="nodeID_"[email protected] [email protected] onclick="GetSubMenu(this)" > 
       @node.Title 
      </li> 
     } 
    </ul> 

и получить данные на javascript.

function GetSubMenu(e) { 
    var parentId = obj.getAttribute('data-nodeid'); 
    $.ajax({ 
     type: "Get", 
     url: "/Menu/GetSubMenu", 
     data: { pageNumber: parentId }, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 

    }).done(function (result) { 

    }); 
} 

вы также можете использовать DataSet

function GetSubMenu(e) { 
     var parentId = e.dataset.nodeid; 
     $.ajax({ 
      type: "Get", 
      url: "/Menu/GetSubMenu", 
      data: { pageNumber: parentId }, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 

     }).done(function (result) { 

     }); 
    }