Функция __doPostBack () не работает (asp.net) - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь вызвать событие кнопки из кода JS.Но doPostBack в функции JS reg() не указывает на код c #.Пожалуйста, скажите мне, что случилось.Вот мой код:

<script>
        function reg() {
            var name = document.getElementById('name').value;
            var id = document.getElementById('cnic').value;
            var age = document.getElementById('age').value;
            var ph = document.getElementById('phone').value;
            var pas = document.getElementById('pass').value;
            if (id == '' || pas == '' || age == '' || ph == '' || pas == '')
                window.alert("Write all fields");
            else {
                __doPostBack('<%= Button1.UniqueID%>','')
            }
        }
    </script>  


 <div >
       <asp:Button id="Button1" OnClientClick="reg()" runat="server" Text="Submit"/>
    </div>

Вот серверная функция c #, связанная с кнопкой:

 protected void Btn_Click(object sender, EventArgs e)
    {
        Button clickedButton = (Button)sender;
        clickedButton.Text = "...button clicked...";
    }

Примечание: В блоке else я хочу, чтобы функция reg()перенаправление на функцию Btn_Click.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Похоже, вам не хватает OnClick в asp:Button.

<asp:Button id="Button1" OnClientClick="reg()" runat="server" Text="Submit" OnClick="Btn_Click"/>

В ASP.NET есть встроенный метод для генерации метода __doPostBack ().

<%= Page.ClientScript.GetPostBackEventReference(Button1, String.Empty) %>; 

Если после изменений все еще не работает, я бы посоветовал вам проверить сетевой трафик, используя вкладку Сеть инструментов отладки браузера (или Fiddler), когда вы нажимаете кнопку.

Также установите точку останова внутри метода reg (), чтобы увидеть, как работает элемент управления.

0 голосов
/ 28 ноября 2018

Прошло много времени с тех пор, как я это сделал, но я думаю, что это должен быть идентификатор сервера, а не идентификатор клиента кнопки.

 __doPostBack('<%= button1.UniqueID%>','')
...