2012-06-13 2 views
0

У меня есть простая ASP.NET UpdatePanel, которая работает так, как ожидалось, когда я запускаю Visual Studio (Casini).AJAX/UpdatePanel не работает на IIS7

Однако после развертывания в моем локальном IIS он больше не работает.

Что плохо сконфигурировано?

Мой код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
       <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
      </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="Button1" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </div> 
    <input id="Text1" type="text" /> 
    </form> 
</body> 
</html> 

... и отделенный код:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace Presentation.Web 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      Label1.Text = DateTime.Now.ToString(); 
     } 
    } 
} 

В Касиня, метке обновляются без обратной передачи. В IIS происходит обратная передача.

+0

Любой ошибки? Это перегрузка страницы? –

+0

u получение ошибки 'Sys is undefined' –

+0

Страница выполняет регулярную обратную передачу при размещении в IIS. В Casini он выполняет запрос AJAX, как ожидалось. –

ответ

0

ASP.NET AJAX требует, чтобы веб-страницы были совместимыми с XHTML (а не HTML 4.0). Фактически, не имея mode = Transitional в web.config остановит scriptManager даже получать визуализацию на странице, и каждый удар AJAX будет действовать как обычная обратная передача.

положить в режиме web.config xhtmlConformance = "Переходный" />

Chk link it should help u

+0

Не помогло, все та же проблема. –

+0

Я обновил свой ответ chk link –

1

Добавьте следующую строку в разделе Обработчики в файле web.config:

<add name="Ajax" verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>

+0

Не помогло, все та же проблема. –

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