2008-09-16 2 views
2

Код пользовательского поиска Google представлен как тег формы. Тем не менее, Asp.net позволяет только один тег формы на странице. Каков наилучший способ реализовать свой код, чтобы вы могли включить его на страницу aspx (например, как часть Masterpage или навигационного элемента).Лучший способ внедрения Google Custom Search на странице aspx

ответ

7

Вы можете иметь несколько тегов форм на странице ASP.NET. Это ограничение относится к тегам формы на стороне сервера (runat = "server").

Вы можете реализовать два тега формы (или более), если только один имеет атрибут runat = "server", а другой не содержится в другом. Пример:

<body> 
<form action="http://www.google.com/cse" id="cse-search-box"> ... </form> 
<form runat="server" id="aspNetform"> ... </form> 
<body> 
2

Возможно, у вас есть несколько тегов форм, но обратите внимание, что они не могут быть вложенными. В этом сценарии вы столкнетесь со множеством странностей (например, я видел случаи, когда открывающий тег для вложенной формы, по-видимому, игнорируется, а затем закрывающий тег завершает закрытие «родительской» формы).

0

Вы можете использовать Javascript:

<input name="Query" type="text" class="searchField" id="Query" value="Search" size="15" onfocus="if(this.value == 'Search') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Search'; }" onkeydown="var event = event || window.event; var key = event.which || event.keyCode; if(key==13) window.open('http://www.google.com/search?q=' + getElementById('Query').value); " /><input name="" type="button" class="searchButton" value="go" onclick="window.open('http://www.google.com/search?q=' + getElementById('Query').value);" /> 
1

Вам нужно удалить тэг формы и использовать Javascript отправить запрос. Посмотрите на http://my6solutions.com/post/2009/04/19/Fixing-Google-Custom-Search-nested-form-tags-in-asp-net-pages.aspx

Я включил код до и после. Итак, вы можете увидеть, что я сделал, чтобы интегрировать его с blogengine .net.

+0

Спасибо, он работает. – Sharique 2009-05-18 10:12:39

Смежные вопросы