Похоже, вы хотите повторно связать сетку и обновить ее на странице. В этом случае проще всего поместить кнопку и сетку в панель обновлений. Дайте кнопке событие щелчка на стороне сервера. Поскольку он находится на панели обновлений, он будет обрабатывать вызов ajax для вас, используя ajax, и содержимое панели обновлений будет автоматически обновляться.
Если вы хотите выполнить ajax-вызовы вручную, вы не сможете просто привязать сетку таким образом, вместо этого вам потребуется метод GetCustomer, который будет возвращать что-то, что использовалось бы вашим клиентским javascript. Я считаю, что вместо использования вызова $ .ajax (jquery), если вы поместите тег метода ScriptService в метод, вы можете выполнить вызов javascript PageMethods.GetCustomer (NoOfRecords). Синтаксис вызова javascript точно такой же, как синтаксис c #, с которым вы объявили метод, но в javascript вы добавляете «PageMethods». спереди.
Примерно так:
Html:
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:TextBox ID="txtValue" runat="server" CssClass="value"></asp:TextBox>
<asp:Button ID="btnShow" runat="server" CssClass="buttonshow" Text="Sow Records without PostBack" />
</div>
<script language="javascript" type="text/javascript">
//attach event to click event of button with class of 'buttonshow'.
$('.buttonshow').click(function()
{
//get value of textbox with class 'value'
var NoOfRecords = $('.value').val();
//Call GetCustomer method, pass NumberOfRecords, and define the onsuccess and onerror functions.
PageMethods.GetCustomer(
NoOfRecords,
function(result) {
alert('success:' + result);
},
function(result) {
alert('error:' + result.get_message());
});
});
</script>
<asp:GridView ID="GvDetails" runat="server">
</asp:GridView>