2013-12-18 53 views
1

我有一個4.0 .NET網站。我有以下元素:OnSelectedIndexChanged在生產中未觸發 - 僅限IE 11

<asp:DropDownList ID="ddlCounty" Width="250" AutoPostBack="true" runat="server" 
OnSelectedIndexChanged="ddlCounty_SelectedIndexChanged" /> 

這適用於在所有瀏覽器中本地運行時。意思是,它擊中了ddlCounty_SelectedIndexChanged函數。在生產環境中,它可以與IE 11以外的所有瀏覽器一起使用。在IE 11中,它不會拋出任何JS錯誤,但在dropDownList更改時不會觸發服務器。

我看到了這個修復:IE 10 Fix,它在我的項目中添加了2個App_browser文件。我試過了,但沒有奏效。此外,我已經驗證它在IE 10中正常工作。

因此,基本上,此問題僅發生在IE 11(非兼容性模式)中。

任何人都有我應該嘗試下一步的想法嗎?

編輯:額外的代碼,這是要求:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+0

你能告訴我你的aspx頁面的一部分嗎? –

+0

它不會回發或它回發和事件不被解僱? – BlueChameleon

+1

它根本不回傳。在IE開發工具的網絡選項卡中,沒有請求。如果我將其設置爲IE 10,則會看到該請求。 – PFranchise

回答

0

我最終只是在服務器上安裝.NET 4.5(未改變版本的網站使用)和問題就走了。

1

我有這個問題與IE瀏覽器(我認爲所有版本的IE瀏覽器作爲是可怕的)。嘗試清除所有Cookie和瀏覽器歷史記錄。您可能需要更改設置。我所做的解決這個問題的方法是在Page_Load的後面添加這行代碼。

Response.CacheControl = "No-cache"; 

緩存基本上是IE的快速嘗試。據我所知,IE是唯一的緩存瀏覽器,這隻會導致IE瀏覽器問題。嘗試這些步驟,看看你是否有幸運。

編輯:我剛纔看到你正在使用更新面板。不知道你是否嘗試過使用觸發器。這就是我做我的..

<trigger> 
<asp:AsyncPostBackTrigger ControlID="ddlCounty" EventName="SelectedIndexChanged" /> 
<trigger> 

或者你也可以做到這一點的背後代碼..

UpdatePanel1.Triggers.Add(new AsyncPostBackTrigger() 
{ 
    ControlID = ddlCounty.UniqueID, 
    EventName = "SelectedIndexChanged", 
}); 

但我只是拋出的想法在那裏。這是我嘗試查看是否有可能解決的一件事。沒有保證。

+0

我不認爲它與緩存有關。如果我私下瀏覽,我仍然有問題。此外,我試圖刪除我的緩存,並仍然遇到問題。儘管IE緩存確實很麻煩。 – PFranchise

+0

IE不是唯一的緩存瀏覽器。所有瀏覽器緩存。然而,IE確實有一些古怪而不可預知的緩存行爲。雖然這個Q似乎不是緩存問題。 – pseudocoder

+0

@pseudocoder這是真的。我錯過了。 IE只是做得很糟糕。 – Humpy

1

我有同樣的問題,事件下拉列表,複選框只在IE11,
如果我chagnes F12 IE控制檯UserAgentString到IE10

太正常工作不點火請參閱此修補程序IE11,請在該提到的鏈接,它會解決這個問題
https://stackoverflow.com/a/20422240/2089963

+0

也請參閱http://support.microsoft.com/kb/2600088 – Syed

相關問題