Как правило, на Android ваш желаемый результат будет лучше, если не будет предоставлена информация о поведении. Тогда как на iOS отступы могут быть правильным ответом. Смотрите примечание на https://facebook.github.io/react-native/docs/keyboardavoidingview#behavior
Я обычно пишу что-то вроде этого:
// ...
Используйте простую форму HTML, не серверную форму (runat=server), и необходимо действительно смочь заставить ее работать.
Это могло однако быть проблемой, если Вы имеете из ведущей страницы Visual Studio поля, которая переносит всю страницу в серверную форму, потому что Вы не можете вложить формы.
Веб-формы не должны сосать, но реализации по умолчанию часто делают. Вы не должны использовать веб-формы для всего. Иногда простой отправляют/получают и обрабатывают код запроса, сделает очень хорошо.
Я сделал бы (b), так как (a) потребует двух распространений в прямом и обратном направлениях для единого запроса. С другой стороны, Вы могли отключить состояние отображения на странице, удалить любые другие скрытые поля с помощью JavaScript и также использовать JavaScript для изменения метода формы из сообщения для получения. Я никогда не делал этого для реального, но моя игрушечная страница с помощью включенного образца работала как очарование. Это возможно легче, чем кодирование строки поиска и выполнение получения с помощью JavaScript.
На самом деле это кажется, что Вы были бы более довольны ASP.NET MVC, так как это легко выполнимо там путем простой установки метода формы Войти в представление.
пример кода с помощью jQuery
$(document).ready( function() {
$('input[type=hidden]').remove();
$('form').attr('method','get');
});
Править: Кажется, что необходимо смочь сделать серверную сторону того же самого, также. Возможно, в OnPreRenderComplete. Не имейте доступа к Visual Studio прямо сейчас для проверки.
Я всегда использовал Ответ. Перенаправление, поскольку это "работает".
Я не думаю, что существует оптимальный метод.
Я работал над веб-сайтом, который должен был отправлять сообщения на сторонний сайт для выполнения поиска на веб-сайте клиента. В итоге я выполнил простой Response.Redirect и передал параметры поиска через строку запроса следующим образом:
protected void Button1_Click(object sender, EventArgs e)
{
string SearchQueryStringParameters = @"?SearchParameters=";
string SearchURL = "Search.aspx" + SearchQueryStringParameters;
Response.Redirect(SearchURL);
}
И на вашей странице Search.aspx в вашей загрузке страницы ...
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.QueryString["SearchParameters"]))
{
// prefill your search textbox
this.txtSearch.Text = Request.QueryString["SearchParameters"];
// run your code that does a search and fill your repeater/datagrid/whatever here
}
else
{
// do nothing but show the search page
}
}
Надеюсь, это поможет.