2013-09-17 6 views
0

У меня та же проблема с новым IE 11 на Windows 7, которая, описанной в this article:IE 11 Проблемы браузера с __doPostBack

В основном, проблема заключается в том, что есть ошибка в файлах определения браузера в ASP .NET 4.0, так что функция IE_PostBack не была правильно обработана IE 11. Я попытался применить исправление, описанное в статье выше, безрезультатно; скорее всего, из-за того, что он был написан для IE 10. Чтобы проиллюстрировать эту проблему, я опубликовал представление исходного кода браузера для одного и того же точного файла: один из IE 10, а другой - из IE 11.

IE 10:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head><title> 
</title></head> 
<body> 
    <form name="form1" method="post" action="BrowserTest.aspx" id="form1"> 
<div> 
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> 
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> 
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQ1OTQ0MTYyOWRkhppg54D0Mn30nLC/IZTLGlfBr38aeprB3xTAohhbzJQ=" /> 
</div> 
<script type="text/javascript"> 
//<![CDATA[ 
var theForm = document.forms['form1']; 
if (!theForm) { 
    theForm = document.form1; 
}  
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
    theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 
//]]> 
</script> 
<script src="/WebResource.axd?d=VkfLtYKVwqSRUzJ5c5unJXsrYfD7JD99cKOnK4EzAlBtmGvv5qOEADPvBEF-Abv4R8XOPCOVzoUKZpOWLoWkLmS5Ko2jc6gP0c0boPwDWlQ1&amp;t=634937341768794884" type="text/javascript"></script> 

<div> 

    <input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="IrJnCf-ARaAvUp2VObKy5G0fSgiunbCJICjf2oeC8yUbPIidn9rC1G7YJWZJWHRXrSiqArylZSjyapyYzouPdDTljHbP4mz-1oB_2NDwvYM1" /> 
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKjhfvoAQKfwImNC7GPbKaBg2kB2yl1LVVULUkU56rARLobB/VGAPlx9gAH" /> 
</div> 
    <div> 
     <a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl02&quot;, &quot;&quot;, false, &quot;&quot;, &quot;/&quot;, false, true))">LinkButton</a> 
    </div> 
    </form> 
</body> 
</html> 

IE 11:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head><title> 
</title></head> 
<body> 
    <form name="form1" method="post" action="/BrowserTest.aspx" id="form1"> 
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQ1OTQ0MTYyOWRkhppg54D0Mn30nLC/IZTLGlfBr38aeprB3xTAohhbzJQ=" /> 
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="IrJnCf-ARaAvUp2VObKy5G0fSgiunbCJICjf2oeC8yUbPIidn9rC1G7YJWZJWHRXrSiqArylZSjyapyYzouPdDTljHbP4mz-1oB_2NDwvYM1" /> 
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKjhfvoAQKfwImNC7GPbKaBg2kB2yl1LVVULUkU56rARLobB/VGAPlx9gAH" /> 
    <div> 
     <a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl02&quot;, &quot;&quot;, false, &quot;&quot;, &quot;/&quot;, false, true))">LinkButton</a> 
    </div> 
    </form> 
</body> 
</html> 

кто-нибудь еще сталкивался с этой проблемой, или кто-нибудь случается знать, если исправление было выпущено от Microsoft? В исправлении, описанном в ссылке вверху этого сообщения, в основном создается папка (App_Browsers) с файлами определения для FireFox и IE. Это было решение, которое я пробовал, в тонкой надежде на то, что он был уверен в будущем, чтобы объяснить эту ситуацию.

Я также должен добавить, что сервер, на который у нас возникла эта проблема, - это окно Windows 2003. У нас также есть поле 2008 как наш сервер Dev, где это не проблема. Мы планируем обновить производственную коробку в самом ближайшем будущем, но, вероятно, не раньше, чем это станет проблемой для некоторых наших пользователей. В аналогичной должности решение состояло в том, чтобы перейти на ASP.NET 4.5, но это не то, что я думаю, что мы готовы сделать на этом этапе, если это единственный вариант. В еще одном посте, по-видимому, для него выпущен исправление, но оно не было проголосовано или одобрено как принятый ответ от оригинального плаката, поэтому я идем вперед и публикую этот вопрос в надежде, что кто-то имеет окончательный ответ.

Заранее благодарен!

Пол

ответ

0

У меня была такая же проблема. Просто создайте новую папку в своем проекте, назовите ее App_Browsers, а в папке создайте новый файл и назовите его ie.browser. В файл добавьте этот код.

<browsers> 
    <browser id="IE11" parentID="Mozilla"> 
    <identification> 
     <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" /> 
     <userAgent nonMatch="IEMobile" /> 
    </identification> 
    <capture> 
     <userAgent match="Trident/(?'layoutVersion'\d+)" /> 
    </capture> 
    <capabilities> 
     <capability name="browser"    value="IE" /> 
     <capability name="layoutEngine"   value="Trident" /> 
     <capability name="layoutEngineVersion" value="${layoutVersion}" /> 
     <capability name="extra"    value="${extra}" /> 
     <capability name="isColor"    value="true" /> 
     <capability name="letters"    value="${letters}" /> 
     <capability name="majorversion"   value="${major}" /> 
     <capability name="minorversion"   value="${minor}" /> 
     <capability name="screenBitDepth"  value="8" /> 
     <capability name="type"     value="IE${major}" /> 
     <capability name="version"    value="${version}" /> 
    </capabilities> 
    </browser> 

    <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko --> 
    <browser id="IE110" parentID="IE11"> 
    <identification> 
     <capability name="majorversion" match="11" /> 
    </identification> 

    <capabilities> 
     <capability name="ecmascriptversion" value="3.0" /> 
     <capability name="jscriptversion"  value="5.6" /> 
     <capability name="javascript"   value="true" /> 
     <capability name="javascriptversion" value="1.5" /> 
     <capability name="msdomversion"   value="${majorversion}.${minorversion}" /> 
     <capability name="w3cdomversion"  value="1.0" /> 
     <capability name="ExchangeOmaSupported" value="true" /> 
     <capability name="activexcontrols"  value="true" /> 
     <capability name="backgroundsounds"  value="true" /> 
     <capability name="cookies"    value="true" /> 
     <capability name="frames"    value="true" /> 
     <capability name="javaapplets"   value="true" /> 
     <capability name="supportsCallback"  value="true" /> 
     <capability name="supportsFileUpload" value="true" /> 
     <capability name="supportsMultilineTextBoxDisplay" value="true" /> 
     <capability name="supportsMaintainScrollPositionOnPostback" value="true" /> 
     <capability name="supportsVCard"  value="true" /> 
     <capability name="supportsXmlHttp"  value="true" /> 
     <capability name="tables"    value="true" /> 
     <capability name="supportsAccessKeyAttribute" value="true" /> 
     <capability name="tagwriter"   value="System.Web.UI.HtmlTextWriter" /> 
     <capability name="vbscript"    value="true" /> 
    </capabilities> 
    </browser> 
</browsers> 
Смежные вопросы