Я бы сделал (б), так как (а) потребует две поездки туда и обратно для одного запроса. Кроме того, вы можете отключить viewstate на странице, удалить любые другие скрытые поля с помощью javascript, а также использовать javascript для изменения метода формы от post до get. Я никогда не делал этого по-настоящему, но моя страница с игрушками с использованием прилагаемого образца работала как шарм. Возможно, это проще, чем кодирование строки поиска и выполнение с помощью JavaScript.
На самом деле, звучит так, как будто бы вы были более довольны ASP.NET MVC, поскольку это легко сделать, просто установив метод формы в GET в представлении.
пример кода с использованием jquery
$(document).ready( function() {
$('input[type=hidden]').remove();
$('form').attr('method','get');
});
РЕДАКТИРОВАТЬ: Кажется, что вы должны быть в состоянии сделать то же самое на стороне сервера тоже. Может быть, в OnPreRenderComplete. У меня нет доступа к Visual Studio прямо сейчас, чтобы проверить.