Существует ли способ очистить параметры строки запроса при регистрации назад?

Ну, кажется, это на самом деле неправильное поведение .

11
задан Alex Angas 25 November 2010 в 04:12
поделиться

6 ответов

Нет, я не видел способа удалить это без перенаправления.

12
ответ дан 3 December 2019 в 01:39
поделиться

Думаю, вы ответили на свой вопрос. Используйте свойство PostBackURL.

<asp:Button PostBackUrl='<%# Request.ServerVariables["URL"] %>' runat="server" Text="Submit" />

Или что-то вроде

foreach (Control ctrl in Page.Controls)
{
    if (ctrl is Button)
    {
        ((Button)ctrl).PostBackUrl = Request.ServerVariables["URL"];
    }
}
7
ответ дан 3 December 2019 в 01:39
поделиться

поместите это внизу вашей страницы?

<script language="javascript" type="text/javascript">
    document.forms[0].action = window.location.pathname;
</script>
6
ответ дан 3 December 2019 в 01:39
поделиться

В некоторых случаях можно использовать метод Server.Transfer () , который имеет перегрузку, которая позволяет указать, следует ли сохранять строку запроса и данные формы. .

3
ответ дан 3 December 2019 в 01:39
поделиться

I assume that you can't rely on Page.IsPostBack for some reason?

If what you're doing is server-side, then it's simple to add a check for IsPostBack in your methods (Page_Load, OnInit, etc) and only processing the querystrings if it's not a post back (i.e. the initial request).

3
ответ дан 3 December 2019 в 01:39
поделиться

Я добавил несколько строк в ваш код. Этого достаточно, чтобы дать понять, почему это запрещено:

void f(vector<const T*>& p)
 {
    static const T ct;
    p.push_back(&ct); // adds a const T* to nonConstVec !
 }
 int main()
 { 
  vector<T*> nonConstVec;
  f(nonConstVec);
  nonConstVec.back()->nonConstFunction();
 }
-121--1546204-

Помогите сообществу, найдите проект opensource, в котором вы могли бы внести свой вклад. Создайте что-нибудь для Moodle , joomla , Zenphoto Gallery . Это тоже довольно образовательно, поскольку вы учитесь кодировать «до стандартов».

-121--2173020-

Я только что столкнулся с той же проблемой, и после поиска в Интернете я нашел этот фрагмент:

public void ClearQueryStrings()
{
    string clientCommand = string.Format(
      "document.forms[\"{0}\"].action = \"{1}\";",
         this.Form.Name, Request.Url.Segments[Request.Url.Segments.Length - 1]);

    ClientScript.RegisterStartupScript(this.GetType(), "qr", clientCommand, true);
}

Я вызываю ClearQueyStrings () в своем Page_Load после того, как закончу обработку исходных последовательностей запроса. Когда страница возвращается, параметры исчезают.

Здесь находится оригинальная статья.

3
ответ дан 3 December 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: