Лучший способ реализовать пользовательский поиск Google на странице aspx - PullRequest
2 голосов
/ 16 сентября 2008

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

Ответы [ 4 ]

7 голосов
/ 16 сентября 2008

Вы можете иметь несколько тегов формы на странице 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 голосов
/ 16 сентября 2008

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

1 голос
/ 20 апреля 2009

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

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

0 голосов
/ 16 сентября 2008

Вы можете использовать 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 );" />
...