Я использую asp.net, так как данные большие. Я показываю индикатор выполнения, сначала используя jquery, а затем делая вызов страницы через ajax и хочу загрузить ретранслятор. Не удалось достичь этого, вам нужна помощь, пожалуйста, ASPX PART:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<table>
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
<thead>
<tr>
<td>Category Name</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("CategoryName")%></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</ItemTemplate>
КОД VB ЗА ЧАСТЬ:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim requestType As String = Request.QueryString("type")
If Not String.IsNullOrEmpty(requestType) Then
Select Case requestType.ToUpper
Case "REPEATORLOAD"
Repeater1.DataSource = GenerateBinDetails()
Repeater1.DataBind()
End Select
End If
End Sub
AJAX SCRIPT PART:
var urlPath = "../views/Reports/RegionalStockHoldings.aspx?type=repeatorLoad"
$.ajax({
url: urlPath,
type: "POST",
cache: false
}).done(function (html) {
debugger;
//how can i bind it to my repeator control , I am getting the whole html data of the page.
});
Я не думаю, что вы сможете связать ретранслятор с кодом jQuery, который вы предоставили.
Однако, что вы можете сделать, это переместить свой код привязки в WebMethod на странице RegionalStockHoldings.aspx. Что-то в этом роде
<System.Web.Services.WebMethod> _
Public Sub BindRepeater()
Repeater1.DataSource = GenerateBinDetails()
Repeater1.DataBind()
End Sub
Затем вы можете вызвать этот код из своего вызова jQuery
var urlPath = "../views/Reports/RegionalStockHoldings.aspx/BindRepeater"
$.ajax({
url: urlPath,
type: "POST",
cache: false
}).done(function (html) {
debugger;
alert("bound repeater");
});
Repeater1
в вызове ajax без отправки информации о состоянии представления для вашего запроса