У меня есть главная страница, и на этой странице __doPostBack не отправляет ответ. Но у меня есть другая главная страница, на которой работает __doPostBack, и кажется, что с этой другой главной страницей все то же самое, но __doPostBack в конце концов не работает ...

Что могло быть причиной этого?

<%@ Master Language="VB"  AutoEventWireup="false" CodeBehind="xx.master.vb" Inherits="MyProject.xx" %>

<asp:Button type="button" ID="btnSwitchLanguage" Style="display: none" runat="server" />

__doPostBack("<%= btnSwitchLanguage.UniqueID %>", lang_id);


Private Sub btnSwitchLanguage_Click(sender As Object, e As EventArgs) Handles btnSwitchLanguage.Click
    'Do Something
End Sub
1
sertsedat 16 Фев 2016 в 12:14

2 ответа

Лучший ответ

Это слишком странно, но я решил проблему.

Вот причина:

В проекте мы переопределяем функцию __doPostBack, я этого не заметил. Но на другой главной странице это было просто отменено, а на той, о которой я говорю, нет.

На другой главной странице функция __doPostBack будет выглядеть так:

__doPostBack(Param1, Param2)
{
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf('netscape') > -1)
    {
        theform = document.forms['aspnet…

Но в мастере я имею дело с:

__doPostBack()
{
   return;
}

Это странно, потому что порядок JavaScript тоже такой же!

В любом случае я предотвращаю переопределение __doPostBack, и проблема решается.

0
sertsedat 17 Фев 2016 в 08:26

Вы пытались ввести код в такую функцию:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="postBack();return false;"/>
        <script type="text/javascript" language="javascript">
            function postBack(){
                var btnName = $get("<%=Btn2.ClientID%>").name;
                __doPostBack(btnName,"");
            }
        </script>

Надеется, что это поможет вам.

1
Francois Borgies 17 Фев 2016 в 07:53