Smthm Ответов: 1

Asp.net уведомления об обновлении базы данных signalr в ретрансляторе?


Я не могу передать данные в ретранслятор. Чтобы использовать данные, мне нужно передать их в ретранслятор, а не в таблицу. Я звонил в интернет уже несколько дней, но так и не нашел ответа.

Что я уже пробовал:

$(function () {

            // Proxy created on the fly
            var job = $.connection.myHub;

            // Declare a function on the job hub so the server can invoke it
            job.client.displayStatus = function () {
                getData();
            };

            // Start the connection
            $.connection.hub.start();
            getData();
        });

        function getData() {
            var $tbl = $('#tbl');

            $.ajax({
                url: 'default3.aspx/GetData',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                type: "POST",
                success: function (data) {
                    debugger;
                    if (data.d.length > 0) {
                        var newdata = data.d;

                        $tbl.empty();
                        $tbl.append(' <tr><th>ID</th><th>Kullanıcı Adı</th><th>Şifre</th><th>SilindiMi</th><th>İşlemler</th></tr>');
                        var rows = [];

                        for (var i = 0; i < newdata.length; i++) {
                            rows.push(' <tr>');

                            rows.push('<td>' + newdata[i].id + '</td>');
                            rows.push('<td>' + newdata[i].kullaniciAdi + '</td>');
                            rows.push('<td>' + newdata[i].sifre + '</td>');
                            rows.push('<td>' + newdata[i].silindiMi + '</td>');

                            rows.push(' </tr>');
                        }
                        $tbl.append(rows.join(''));
                    }
                }
            });
        }


<div>

            <table id="tbl"></table>
            <br />
            <hr />
            <div id="divRpt">
                <table>
                    <asp:Repeater ID="rptTbl" runat="server">
                        <ItemTemplate>
                            <tr>
                                <td>
                                    <span class="id"><%# Eval("id") %></span>
                                </td>
                                <td>
                                    <span class="kullaniciadi"><%# Eval("kullaniciAdi") %></span>
                                </td>
                                <td>
                                    <span class="sifre"><%# Eval("sifre") %></span>
                                </td>
                                <td>
                                    <asp:LinkButton ID="lnkBton" CommandName="tiklaName" runat="server" Text="Tikla"></asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </table>
            </div>
        </div>

Vincent Maverick Durano

Когда вы говорите: "вы не можете вытащить данные", вы получаете ошибку? Возвращает ли вам функция getData() что-нибудь?

Smthm

Я извлекаю данные, но не могу их распечатать.

1 Ответов

Рейтинг:
10

Vincent Maverick Durano

Цитата:
Я извлекаю данные, но не могу их распечатать.


Посмотрим, сработает ли это для вас: https://www.aspsnippets.com/Articles/Bind-Populate-Repeater-control-with-JSON-object-using-jQuery-AJAX-in-ASPNet.aspx

По существу, Data Representation Control такие как Repeater это Server Control Серверные элементы управления должны быть привязаны к серверу. Если вы хотите использовать ретранслятор для отображения данных, то вам необходимо вызвать SignalR Hub метод на сервере, в противном случае вам нужно построить HTML table вместе с данными, такими же, как у вас сейчас.

Проверьте официальную документацию о том, как это сделать.: Руководство по API с помощью SignalR хабы ASP.NET - сервер


Smthm

Я видел этот образец, но не могу добраться до ссылок в ретрансляторе. "Ретранслятор. Метод OnItemCommand"

Vincent Maverick Durano

OnItemCommand-это событие сервера, поэтому вы не можете вызвать его на клиенте.

Smthm

Спасибо за вашу помощь.

Vincent Maverick Durano

вы ставите. Рад быть полезным! :)