2011-01-13 4 views
1

У меня есть 2 текстовых поля и кнопка и тег HREF, чтобы открыть календарь при нажатии на него. То же я есть на другой страницеПочему не Server.Transfer почему только Response.Redirect

Я пишу код для передачи на конкретную страницу следующим образом, используя Respose.Redirect

protected void Button1_Click3(object sender, EventArgs e) 
{ 
    Response.Redirect("Demo/Default.aspx");//Works fine 
    //Server.Tranfer("Demo/Default.aspx"); // Does not works 
} 

Это работает чисто, но если я использую Sever.Tranfer на второй странице я не удалось загрузить элемент управления календаря, когда пользователь нажимает на Href теге

ответ

2

http://www.developer.com/net/asp/article.php/3299641/ServerTransfer-Vs-ResponseRedirect.htm

Во-первых, перехода на другую страницу с помощью Server.T ransfer хранит сервер ресурсов. Вместо того, чтобы сообщать браузеру для перенаправления, он просто меняет «фокус» на веб-сервере, а передает запрос. Это означает, что вы, , не получаете столько запросов HTTP , которые, следовательно, снижают , давление на вашем веб-сервере и заставляет ваши приложения работать быстрее.

Но берегитесь: потому что «передача» процесс может работать только на тех сайтов , работающих на сервере, вы не можете использовать Server.Transfer отправить пользователя на внешний сайт. Только Response.Redirect может это сделать.

Во-вторых, Server.Transfer поддерживает исходный URL-адрес в браузере. Это может действительно помочь упорядочить ввод данных методов, хотя это может быть сделано для путаницы при отладке.

Еще не все: метод Server.Transfer также имеет второй параметр - "preserveForm". Если вы установите это Истина, с помощью инструкции, такие, как Server.Transfer («WebForm2.aspx», True), существующую строку запроса и любой формы переменные все равно будет доступны на странице вы передачи в ,

Например, если ваш WebForm1.aspx имеет контроль TextBox под названием TextBox1 и вы переданы WebForm2.aspx с : параметр preserveForm установлен Правда, вы были бы в состоянии получить значение оригинала page TextBox контроль по ссылке Request.Form ("TextBox1").

Смежные вопросы