размещение формы, но без публикации состояния просмотра - PullRequest
2 голосов
/ 25 мая 2010

У меня есть веб-форма, и я хочу получить ее на другой странице. есть ли способ отправить его без публикации ViewState и других ненужных мне битов?

Или я должен поймать нажатие кнопки отправки и перенаправить с помощью строки запроса, которую я создаю сам.

Ответы [ 4 ]

2 голосов
/ 25 мая 2010

У вас есть несколько вариантов здесь:

Вам не нужно отключать ViewState на всех страницах, только на тех страницах, которые вам не нужны для сохранения состояния.

Но есть также возможность полностью отключить ViewState, если вы никогда не хотите его использовать.

Если вы просто хотите составить GET самостоятельно, вы можете использовать для этого также jQuery, чтобы передавать только те параметры, которые вам действительно нужны, что даст вам 100% контроль над тем, что опубликовано /getted.

0 голосов
/ 25 мая 2010

Существуют разные способы сохранения состояния.

В прошлом мне приходилось сохранять состояние представления на сервере (используя ApplicationState / Session, не помню) для тяжелой страницы AJAX для поддержки более быстрых обновлений. Хорошо работает.

См. Page.LoadPageStateFromPersistenceMedium и Page.SavePageStateToPersistenceMedium.

Извините, ссылки на Reflector отсутствуют.

0 голосов
/ 25 мая 2010

Вы можете добавить обработчик событий к кнопке поиска и сделать что-то похожее на это

private void button_Click(object sender, EventArgs e)
{
    String query = queryTextBox.Text;
    Response.Redirect("SearchResults.aspx?query=" + query);
}

Использование JavaScript

function doSearch()
{
    // Assuming you are not using jQuery, 
    // using jQuery it would be $('#queryTextBox').value instead
    var queryString = document.getElementById('queryTextBox').value;

    window.open("SearchResults.aspx?query=" + queryString);
    return false;
}

Html

<input type="text" id="queryTextBox" />
<input type="button" onclick="return doSearch()" value="Go" />
0 голосов
/ 25 мая 2010

Если вы не используете viewstate, почему вы оставили его включенным? Просто отключи это. Для каждого серверного элемента управления установите EnableViewState = False, и вы свободны от него. Если вам нужен viewstate, он будет частью сообщения все время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...