2014-10-06 38 views
0

在通過形式.__ EVENTTARGET.value undeffined在JS

ASPX代碼

<%= GetPostBackReference() %>; 
上的代碼

我對.NET 4.0 webforms.app通話_doPostBack後背後

protected string GetPostBackReference() 
{ 
    return Page.ClientScript.GetPostBackEventReference(ReloadThePanel,"null"); 
} 

轉化爲

__doPostBack('ctl00$cntMain$ReloadThePanel','null'); 

in form

<!-- update panel --> 
<asp:UpdatePanel ID="updPanelSave" ClientIDMode="Static" runat="server"> 
    <ContentTemplate></ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="ReloadThePanel" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 
<!-- hidden button for update panel --> 
<asp:LinkButton ID="ReloadThePanel" runat="server" style="display:none;" /> 

第一阿賈克斯回發後一切正常,就後同一頁上的另一個AJAX回傳扔JS異常

形式.__ EVENTTARGET.value中(的ScriptResource.axd undeffined

...動態代碼)

_doPostBack:功能PageRequestManager $ _doPostBack(的eventTarget,eventArgument)....

form.__EVENTTARGET.value = eventTarget; 
form.__EVENTARGUMENT.value = eventArgument; 
this._onFormSubmit(); 

我做錯了什麼?它與梅比http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx 問題同樣isue僅適用於即11,8 USW .. Chrome和FF行之有效 感謝名單

回答

0

做的就是升級到4.5.1最容易的事情 - 這可能是你提到的問題,而且」 d解決它。

似乎很奇怪,它發生在後和初始回發雖然(並不符合上述問題)。

就我個人而言,我並沒有在使用隱藏按鈕創建回發引用時看到很多問題(並且懷疑這是它自己陷入困惑的地方)。您在這裏有空白的內容模板,但實際代碼中可能包含某些內容,請確保您沒有任何不匹配的div標籤,因爲這會將按鈕推入面板中,您將失去對它的引用。我猜你必須從javascript調用回發(否則爲什麼要使用隱藏按鈕),那麼爲什麼不使用:。您可能希望以編程方式填充編號(以aspx:','');「>)

我知道它似乎很討厭,包括直接引用__dopostback - 但是M $更改的日期是90% webforms網站無論如何都會倒閉,所以這種情況不太可能發生。