Есть ли способ заставить обратную передачу в коде?
Я хочу заставить повысить обратную передачу из метода в коде С# за моим веб-приложением asp.net.
Есть ли способ заставить обратную передачу в коде?
Я хочу заставить повысить обратную передачу из метода в коде С# за моим веб-приложением asp.net.
После отправки формы запускается обратная передача, поэтому она связана с действием клиента... посмотрите здесь объяснение: ASP.NET - возможно ли инициировать обратную передачу из кода сервера?
и здесь для решения: http://forums.asp.net/t/928411.aspx/1
Вы можете попробовать перенаправить на ту же страницу.
Response.Redirect(Request.RawUrl);
Simpler:
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "DoPostBack", "__doPostBack(sender, e)", true);
Нет, не из кода. Обратный вызов - это запрос, инициированный на странице клиента на сервере, используя метод Http POST. На стороне сервера вы можете запросить перенаправление, но это будет запрос Http GET.
Здесь решение от http://forums.asp.net/t/928411.aspx/1, как упоминалось mamoo - на всякий случай, когда веб-сайт отключен. Хорошо работал у меня.
StringBuilder sbScript = new StringBuilder();
sbScript.Append("<script language='JavaScript' type='text/javascript'>\n");
sbScript.Append("<!--\n");
sbScript.Append(this.GetPostBackEventReference(this, "PBArg") + ";\n");
sbScript.Append("// -->\n");
sbScript.Append("</script>\n");
this.RegisterStartupScript("AutoPostBackScript", sbScript.ToString());
Вы можете вручную вызвать метод, вызванный PostBack, из события Page_Load
:
public void Page_Load(object sender, EventArgs e)
{
MyPostBackMethod(sender, e);
}
Но если вы имеете в виду, если у вас есть свойство Page.IsPostBack
, установленное на true
без реального сообщения назад, тогда ответ будет отрицательным.
Вы можете использовать элемент управления с привязкой к данным, например, Repeater
или ListView
, привязать его к списку свойств управления по мере необходимости и позволить ему генерировать элементы управления динамически.
В качестве альтернативы вы можете использовать Response.Redirect(".")
для повторной загрузки одной и той же страницы.
Используя Server.Transfer( "YourCurrentPage.aspx" ); мы можем легко добиться этого, и это лучше, чем Response.Redirect(); coz Server.Transfer() сохранит вас в оба конца.