How to remove all rows of the table but keep the header
Try http://api.jquery.com/child-selector/
$("#<%=tblDetailFourn.ClientID%> > tbody > tr").remove();
What you have should work though.
$('#tblDetailFourn tbody').empty();
Try using this:
$('#<%=tblDetailFourn.ClientID%> tr').not(function(){ return !!$(this).has('th').length; }).remove();
What about:
$('#tblDetailFourn tbody').html('');
jsfiddle