2013-12-12 80 views
0

我是一个新用户。高兴地认识一切。 EHm我被封锁成标题中描述的任务。我是意大利人,但我会说英语。我有这个JavaScript到page.aspx。调用c#函数从javascript检索数据传递javascript变量

<script> 

    // Call template init (optional, but faster if called manually) 
    $.template.init(); 

    // Progress 
    $('.demo-progress').progress(); 

    // Table sort - DataTables 
    var table = $('#sorting-advanced'); 
    table.dataTable({ 
     'aoColumnDefs': [ 
      { 'bSortable': false, 'aTargets': [0, 5] } 
     ], 
     'sPaginationType': 'full_numbers', 
     'sDom': '<"dataTables_header"lfr>t<"dataTables_footer"ip>', 
     'fnInitComplete': function (oSettings) { 
      // Style length select 
      table.closest('.dataTables_wrapper').find('.dataTables_length select').addClass('select blue-gradient glossy').styleSelect(); 
      tableStyled = true; 
     } 
    }); 


    // Table sort - styled 
    $('#sorting-advanced').tablesorter({ 
     headers: { 
      0: { sorter: false }, 
      5: { sorter: false } 
     } 
    }).on('click', 'tbody td', function (event) { 

     // Do not process if something else has been clicked 
     if (event.target !== this) { 
      return; 
     } 

     var tr = $(this).parent(), 
      row = tr.next('.row-drop'), 
      rows; 

     // If click on a special row 
     if (tr.hasClass('row-drop')) { 
      return; 
     } 

     // If there is already a special row 
     if (row.length > 0) { 
      // Un-style row 
      tr.children().removeClass('anthracite-gradient glossy'); 

      // Remove row 
      row.remove(); 

      return; 
     } 

     // Remove existing special rows 
     rows = tr.siblings('.row-drop'); 
     if (rows.length > 0) { 
      // Un-style previous rows 
      rows.prev().children().removeClass('anthracite-gradient glossy'); 

      // Remove rows 
      rows.remove(); 
     } 

     // Style row 
     tr.children().addClass('anthracite-gradient glossy'); 

     var selectedCertificate = getValue(); 

     // Add fake row 
     $('<tr class="row-drop">' + 
      '<td colspan="' + tr.children().length + '">' + 
       '<div class="float-right">' + 
        '<button type="submit" class="button glossy mid-margin-right">' + 
         '<span class="button-icon"><span class="icon-mail"></span></span>' + 
         'Send mail' + 
        '</button>' + 
        '<button type="submit" class="button glossy">' + 
         '<span class="button-icon red-gradient"><span class="icon-cross"></span></span>' + 
         'Remove' + 
        '</button>' + 
       '</div>' + 
       '<strong>Certificate Number: </strong>' + selectedCertificate + '<br>' + 
       '<strong>Area: </strong> ' + +' <br>' + function(selectedCertificate, condition) 
       '<strong>Email: </strong><br>' + function(selectedCertificate, condition) 
       '<strong>Ultimo accesso: </strong>' + function(selectedCertificate, condition) + 
      '</td>' + 
     '</tr>').insertAfter(tr); 

    }).on('sortStart', function() { 
     var rows = $(this).find('.row-drop'); 
     if (rows.length > 0) { 
      // Un-style previous rows 
      rows.prev().children().removeClass('anthracite-gradient glossy'); 

      // Remove rows 
      rows.remove(); 
     } 
    }); 

</script> 

然后C#代码隐藏:

protected string function(string certificate, int condition) 
{ 
    if (condition == 0) 
     return "data1"; 
    else 
     return "data2"; 
} 

我如何可以调用经过的JavaScript变量和条件值?非常感谢,任何帮助都是好消息!

回答

0

尝试使用AJAX后

$.ajax({ 
    type: "POST", 
    url: "/controller/action(function)", 
    data: "{certificate:value, condition: value}", 
    success: success, 
}); 

或使用jquery.post

$.post("url", { certificate:value, condition: value }); 
+0

谢谢,但我在哪里把这个代码? :( – Beppe

+0

当你需要调用这个“函数”方法?例如,如果你想在你点击任何按钮时调用这个“函数”方法,那么你必须在js函数中调用你需要添加这个代码的js函数。 – Peri