super_user Ответов: 0

Представление сетки Asp в веб-методе и jquery


Я пытаюсь использовать asp gridview для этого я пытаюсь webmethod и jquery для извлечения данных из базы данных теперь когда я использую html gridview вот так



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

затем gridview отображается на странице, но когда я использую asp gridview, как это

<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 

    GridLines="None" onpageindexchanging="GridView1_PageIndexChanging" 

    onselectedindexchanged="GridView1_SelectedIndexChanged"  

    AutoGenerateColumns="False" AllowPaging="True"  OnRowCommand="GridView1_select"

    onrowdatabound="GridView1_RowDataBound">
    <AlternatingRowStyle BackColor="White" />
    <EditRowStyle BackColor="#7C6F57" />
    <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#E3EAEB" />
    <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#F8FAFA" />
    <SortedAscendingHeaderStyle BackColor="#246B61" />
    <SortedDescendingCellStyle BackColor="#D4DFE1" />
    <SortedDescendingHeaderStyle BackColor="#15524A" />
    <Columns>
    <asp:BoundField DataField="ID" HeaderText="ID"/>  
    <asp:BoundField DataField="OwnerName" HeaderText="OwnerName"/> 
    <asp:BoundField DataField="RegNo" HeaderText="RegNo"/> 
    <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="lbViewChart" Text="View Chart" CssClass="lbViewChart"  runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

но сетка не отображается на странице ..

Код Jquery

< script type= "text/javascript">
$(function () {
    $('[ID*=search_data]').on('click', function () {
        var fromdate = $('[ID*=fromdate]').val();
        var todate = $('[ID*=todate]').val();
        var regiondrop = $('[ID*=regiondrop] option:selected')[0].value;
        var GridView1 = $('[ID*=GridView1]');
        var obj = {};
        obj.fromdate = fromdate;
        obj.todate = todate;
        obj.regiondrop = regiondrop;
        Getdataa(obj);
        return false;
    });
});
  function Getdataa(obj) {
            $.ajax({
                type: "POST",
                url: "WebForm1.aspx/search_data",
    data: "{'fromdate':'" + obj.fromdate + "','todate':'" + obj.todate + "','regiondrop':'" + obj.regiondrop + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: true,
                cache: false,
                success: function (result) {
                    var final = JSON.parse(result.d).response;
                    console.log(JSON.parse(result.d).response)
                    $("#GridView1").empty();
                    if (final.length > 0) {
                        $("#GridView1").append(
                   "<tr><th>ID</th><th>OwnerName</th;");
                        for (var i = 0; i < final.length; i++) {
                            if (final[i] !== null) {
                                $("#GridView1").append("<tr><td>" +
                               final[i][0] + "</td> <td>" +
                               final[i][1] + "</td> <td>" +

                            }
                        }
                    }
                    else {
                        $("#GridView1").hide();
                        $("#Label4").text("No Data");
                    }
                },
                error: function (error) {
                    alert("error");

                }
            });
        }

так можно ли использовать вид сетки asp? Какое-нибудь решение?

F-ES Sitecore

Gridview - это серверный компонент, который генерирует таблицу в клиентском html-коде. Это не клиентский элемент управления, с которым вы можете взаимодействовать. Если вы хотите обновить данные с помощью jquery, то не используйте gridview, а просто используйте стандартную html-таблицу. Однако вы не получите серверную функциональность, которую предоставляет gridview.

super_user

если я использую html-таблицу, как эта & lt;Таблица>
<tr>
в <ом&ГТ;имя&ЛТ;/й&ГТ;
< / tr>
<tr>
< td> Джилл< / td>
< / tr>
< / Таблица>
тогда я не хочу вставлять данные вручную я извлекаю данные из базы данных так что я пишу вместо имени и Джилл

F-ES Sitecore

Сгенерируйте html-код с помощью asp: Repeater. Google "asp.net постройте html-таблицу с повторителем" , и вы, вероятно, найдете примеры.

super_user

привет.. когда я добавить это .. &ЛТ;АСП:репитер идентификатор="gridata" атрибут runat="сервер"и GT;
& lt;HeaderTemplate>
< table cellspacing=" 0 "rules=" all "border= "1">
<tr>
< th>
< / th>

< / tr>
< / HeaderTemplate>
& lt;itemtemplate>
<tr>
< td>
< / td>
< / tr>

& lt;footertemplate>
< / Таблица>


тогда этот ретранслятор не отображается на странице

F-ES Sitecore

Вам нужно дать ретранслятору источник данных и вызвать databind

http://www.aspsnippets.com/Articles/Display-and-render-Repeater-control-as-HTML-Table-Layout-in-ASPNet.aspx

super_user

я уже связываю в jquery.. если вы проверите jquery, который я опубликовал, и это веб-метод..

[WebMethod]
общественности статической строки search_data(fromdate типа datetime, datetime в последней, строки regiondrop)
{
пробовать
{
строковый результат = "";
TrackDataEntities1 ts = новый TrackDataEntities1();

var dq = (из имени таблицы........ .. .Толист();
DataTable dt = новый DataTable();

ДТ.Столбцы.Add ("ID", typeof(int));
ДТ.Столбцы.Add ("OwnerName", typeof (string));
foreach (var c в dq)
{
ДТ.Строк.Добавления(возр.ИД, Си.ownername);
}

результат = DataSetToJSON(dt);

возвращаемый результат;
}
catch (исключение)
{
выбросить новое исключение();


}

}
публичная статическая строка DataSetToJSON(DataTable dt)
{

Словарь< string, object="" & gt; dict = новый словарь< string, object="">();

object[] arr = новый объект[dt. Rows.Количество + 1];

for (int i = 0; i <= dt.Rows.Count-1; i++)
{
модуль arr[я] = ДТ.Строки[я].ItemArray;
}


dict. Add("ответ", arr);

Класс javascriptserializer формате JSON = новый класс javascriptserializer();
верните json.Сериализация (дикт);
}

super_user

и ваша ссылка не помогла

0 Ответов