Ошибка при загрузке данных в gridview с помощью jquery
Привет,
Я пытаюсь загрузить данные в datagrid с помощью jquery.
Моя проблема заключается в том, что я получаю значение rownum(0) в строке заголовка и на месте rownum(0) Я получаю имя(0). Кроме того, я получаю только значения столбцов rownum и NAME (столбцы 0 и 1).
Это мой код:
CREATE TABLE tblTEST (ID INT not null IDENTITY(1,1), IDNO NVARCHAR(20), NAME NVARCHAR(20), POSTADDRESS NVARCHAR(20), TEL NVARCHAR(20), INSDATE DATE, APPROVAL BIT ) CREATE PROCEDURE PROC_TEST (@IDNO NVARCHAR(20), @NAME NVARCHAR(20), @TEL NVARCHAR(20)) AS BEGIN SELECT ROW_NUMBER() OVER(order by ID) AS rownum,IDNO,NAME,POSTADDRESS,TEL,INSDATE,APPROVAL FROM tblTEST WHERE IDNO=@IDNO and NAME=@NAME and TEL=@TEL END
код C# :
[WebMethod] public static String getApplicants(String idno, String name, String tel) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "PROC_TEST"; cmd.Parameters.Add("@IDNO", SqlDbType.VarChar).Value = idno; cmd.Parameters.Add("@NAME", SqlDbType.VarChar).Value = name; cmd.Parameters.Add("@TEL", SqlDbType.VarChar).Value = tel; return GetData(cmd).GetXml(); } private static DataSet GetData(SqlCommand cmd) { using (SqlConnection con = getConnection()) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataSet ds = new DataSet()) { sda.Fill(ds); return ds; } } } }
и javascript:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type = "text/javascript"> function bindGrid() { var pageurl = '<%=ResolveUrl("Default.aspx/getApplicants") %>'; var idno = $("#<%=txtIDNO.ClientID%>").val(); var name = $("#<%=txtName.ClientID%>").val(); var tel = $("#<%=txtTel.ClientID%>").val(); var parameter={"idno":idno,"name":name,"tel":tel} $.ajax({ type: "POST", url: pageurl, data: JSON.stringify(parameter), contentType: "application/json; charset=utf-8", dataType: "json", success: OnSuccess, failure: function(response) { alert(response.d); } }); } function OnSuccess(response) { var xmlDoc = $.parseXML(response.d); var xml = $(xmlDoc); var dv = xml.find("Table"); var row = $("[id*=gv] tr:last-child").clone(true); $("[id*=gv] tr").not($("[id*=gv] tr:first-child")).remove(); $.each(dv, function () { var dv = $(this); $("td", row).eq(0).html($(this).find("rownum").text()); $("td", row).eq(1).html($(this).find("IDNO").text()); $("td", row).eq(2).html($(this).find("NAME").text()); $("td", row).eq(3).html($(this).find("POSTADDRESS").text()); $("td", row).eq(4).html($(this).find("TEL").text()); $("td", row).eq(5).html($(this).find("INSDATE").text()); $("td", row).eq(6).html($(this).find("APPROVAL").text()); $("[id*=gv]").append(row); row = $("[id*=gv] tr:last-child").clone(true); }); } </script>
язык разметки gridView:
< div style= " overflow-x: auto; width: 90%">
&ЛТ;в ASP:GridView в идентификатор="гв" атрибут runat="сервер" AutoGenerateColumns="false" - в ShowFooter="истинный"
OnRowEditing= " gvFunctions_RowEditing"
OnRowUpdating= " gvFunctions_RowUpdating"
Метода onrowcancelingedit="gvFunctions_RowCancelingEdit"
OnPageIndexChanging= " gvFunctions_PageIndexChanging"
OnRowDeleting=" gvFunctions_RowDeleting " OnRowCommand=" gvFunctions_RowCommand "AllowPaging=" True "PageSize=" 5"
CssClass= "mGrid" PagerStyle-CssClass=" pgr "AlternatingRowStyle-CssClass= "alt">
& lt;колонки>
<asp:TemplateField HeaderText= "rownum">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblrownum" атрибут runat="сервер" текст=в'<%#Ивала("параметр rownum") %&ГТ;' ширина="30"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "IDNO">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblIDNO" атрибут runat="сервер" текст=в'<%#Ивала("ИДНО") %&ГТ;' ширина="120"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:текстовое поле с ID="txtAddIDNO" атрибут runat="сервер" ширина="120"&ГТ; &ЛТ;/АСП:текстовое поле&ГТ;
&ЛТ;как ASP:RequiredFieldValidator идентификатор="reqIDNO" атрибут runat="сервер" Цвет="Красный" ValidationGroup="ValgrpIns" ControlToValidate="txtAddIDNO" сообщение об ошибке="*"&ГТ;&ЛТ;/в ASP:RequiredFieldValidator&ГТ;
< / FooterTemplate>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "Name">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblName" атрибут runat="сервер" текст=в'<%#Ивала("название") %&ГТ;' Ширина="180"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;АСП:текстовое поле с ID="txtName" атрибут runat="сервер" текст=в'<%# Персонализация("название ") %&ГТ;' Ширина="180"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:текстовое поле с ID="txtAddName" атрибут runat="сервер" Ширина="180"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
&ЛТ;как ASP:RequiredFieldValidator идентификатор="reqName" атрибут runat="сервер" Цвет="Красный" ValidationGroup="ValgrpIns" ControlToValidate="txtAddName" сообщение об ошибке="*"&ГТ;&ЛТ;/в ASP:RequiredFieldValidator&ГТ;
< / FooterTemplate>
& lt;Headerstyle Width= " 15%"></HeaderStyle>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "POSTADDRESS">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblPostalAddress" атрибут runat="сервер" текст=в'<%#Ивала("POSTADDRESS") %&ГТ;' Ширина="180"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;АСП:текстовое поле с ID="txtPostalAddress" атрибут runat="сервер" текст=в'<%# Персонализация("POSTALADDRESS") %&ГТ;' Ширина="180"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:текстовое поле с ID="txtAddPostalStreet" атрибут runat="сервер" Ширина="180"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / FooterTemplate>
& lt;Headerstyle Width= " 15%"></HeaderStyle>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "TEL">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblTel" атрибут runat="сервер" текст=в'<%#Ивала("тел") %&ГТ;'&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;АСП:текстовое поле с ID="txtTel" атрибут runat="сервер" текст=в'<%# Персонализация("тел") %&ГТ;' ширина="80"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:текстовое поле с ID="txtAddTel" атрибут runat="сервер" ширина="80"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / FooterTemplate>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "INSDATE">
& lt;ItemTemplate>
&ЛТ;АСП:метка идентификатор="lblDate" атрибут runat="сервер" текст=в'<%#Ивала("INSDATE") %&ГТ;'&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;АСП:текстовое поле с ID="txtDate" атрибут runat="сервер" текст=в'<%# Персонализация("INSDATE") %&ГТ;' ширина="80"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:текстовое поле с ID="txtAddDate" атрибут runat="сервер" ширина="80"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / FooterTemplate>
< / asp:TemplateField>
<asp:TemplateField HeaderText= "утверждение" ItemStyle-Width= "50">
& lt;ItemTemplate>
&ЛТ;АСП:чекбокс с ID="lblcbApproved" проверил=в'<%# Ивала("утверждение")!=Значение dbnull.Ценность?Функция eval("утверждение"):ложная%&ГТ;' атрибут runat="сервер" включена="ложно" /&ГТ;
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;АСП:чекбокс с ID="cbApproved" проверил=в'<%# Ивала("утверждение")!=Значение dbnull.Ценность?Функция eval("утверждение"):ложная%&ГТ;' атрибут runat="сервер" включена="истинной" /&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:чекбокс с ID="cbAddApproved" атрибут runat="сервер" включена="истинной" /&ГТ;
< / FooterTemplate>
< / asp:TemplateField>
<asp:TemplateField >
& lt;ItemTemplate>
&ЛТ;как ASP:LinkButton элемент ID="btnEdit" текст="редактировать" атрибут runat="сервер" Имя_команды="редактировать" /&ГТ;
< span onclick= " return confirm(delete;') " >
&ЛТ;как ASP:LinkButton элемент ID="btnDelete" текст="удалить" атрибут runat="сервер" Имя_команды="удалить" /&ГТ;
< / span>
< / ItemTemplate>
< EditItemTemplate>
&ЛТ;как ASP:LinkButton элемент ID="btnUpdate" текст="обновить" атрибут runat="сервер" Имя_команды="обновить" /&ГТ;
&ЛТ;как ASP:LinkButton элемент ID="btnCancel" текст="отмена" атрибут runat="сервер" Имя_команды="отмена" /&ГТ;
< / EditItemTemplate>
& lt;FooterTemplate>
&ЛТ;АСП:кнопка ID="btnInsertRecord" атрибут runat="сервер" текст="вставить" ширина="100" ValidationGroup="ValgrpIns" Имя_команды="вставить" /&ГТ;
< / FooterTemplate>
& lt;Headerstyle Width= "15%" />
< / asp:TemplateField>
< / столбцы>
< PagerStyle HorizontalAlign= "Left" VerticalAlign= "Middle" />
< / asp:GridView>
< / div>
Заранее спасибо.
Что я уже пробовал:
Проверьте, что sproc работает, и результаты правильно отображаются в gridView, когда я не использую javascript для загрузки данных.
Karthik_Mahalingam
разместите код разметки girdview.
Chriz12
Я несколько раз пытался вставить код разметки gridview, но не могу, не знаю почему.
Karthik_Mahalingam
попробуйте вставить как обычный текст. или напишите в скрипке и поделитесь ссылкой
Chriz12
Я вставляю его как обычный текст, надеюсь, это имеет смысл!
Karthik_Mahalingam
да.
var dv = xml. find ("таблица");
это должна быть Таблица 1, я думаю, проверьте ее.
Chriz12
Спасибо за ответ. Если я изменю его на таблицу 1, то вообще не получу никаких данных.
Karthik_Mahalingam
содержит ли набор данных данные?
Chriz12
Да. Когда я использую var dv = xml. find ("таблица"); я получаю данные, но только для столбцов 0 и 1. (при этом первый столбец записи(0) путается)