【问题标题】:Binding asp.net datalist with jQuery is not working用 jQuery 绑定 asp.net 数据列表不起作用
【发布时间】:2017-02-10 20:46:55
【问题描述】:

我看到了几篇关于这个主题的帖子。我注意到一个代码。我还在下面的代码 url 上处理了相同的代码。 Binding asp.net datalist with jQuery

function OnSuccess(response) {
            $("[id*=dlOnFrontPageProducts]").attr("border", "1");
            var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var customers = xml.find("Table1");
            var row = $("[id*=dlOnFrontPageProducts] tr:last-child").clone(true);
            $("[id*=dlOnFrontPageProducts] tr:last-child").remove();
            $.each(customers, function () {
                alert(this);
                var customer = $(this);
                $(".Name", row).html(customer.find("Name").text());
                $(".BrandName", row).html(customer.find("BrandName").text());
                $(".MarketPrice", row).html(customer.find("MarketPrice").text());
                $(".CurrencyShortName", row).html(customer.find("CurrencyShortName").text());
                $(".Price", row).html(customer.find("Price").text());
                $(".WindowImageUrl", row).html(customer.find("WindowImageUrl").text());
                $(".SaleCount", row).html(customer.find("SaleCount").text());
                $(".IsActive", row).html(customer.find("IsActive").text());
                $("[id*=dlOnFrontPageProducts]").append(row);
                row = $("[id*=dlOnFrontPageProducts] tr:last-child").clone(true);
            });
        }




<asp:DataList    ID="DataList1" runat="server" AutoGenerateColumns="false" Font-Names="Arial"
Font-Size="10pt" RowStyle-BackColor="#A1DCF2" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor = "White">
    <ItemTemplate>
     <asp:Label ID="lbldescription"  runat="server" Text='<%# Eval("description")%>'>
         </asp:Label>
     <asp:Label ID="name"  runat="server" Text='<%# Eval("name")%>'>
        </asp:Label>                   
   </ItemTemplate>

如何使用 ajax 和 jquery 进行绑定。我的页面加载页面需要 16 秒。那就是我要使用jquery。

请帮我寻找解决方案....

谢谢

【问题讨论】:

  • 下拉列表绑定了多少数据?
  • 将近 500 行。我想绑定到datalst。并且数据列表格式正确...
  • 我使用 datalst 作为

标签: asp.net jquery


【解决方案1】:

您将无法通过 jQuery BindDataList 控件,因为该控件仅在通过服务器端代码绑定时创建,例如关于后面的代码。

如果你想使用 Ajax 和 jQuery 来bind 控件,那么你最好使用普通的旧 HTML。

或者,将DataList 与一些数据绑定以便呈现,然后将在页面上创建 HTML 元素,您可以使用它们。

【讨论】:

  • "或者,将 DataList 与一些数据绑定以便呈现,然后将在页面上创建 HTML 元素,您可以使用它们"
  • 如何使用 html 元素...?你能给我提供任何示例代码吗...?
  • 本打算发布一个示例,但被跟踪了。
【解决方案2】:

我使用回调方法实现了这个概念,没有回发。代码如下

 Dim callback As String = ClientScript.GetCallbackEventReference(Me, "message", "processMyResult", "context")
        Dim script As String = "function CallBack(message,context){" + callback + ";}"
        ClientScript.RegisterClientScriptBlock(Me.GetType(), "CB", script:=script, addScriptTags:=True)



 Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
    If (eventArgument) Is Nothing Then

        returnValue = "-1"

    Else

        binddata(eventArgument)
    End If



    Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
    Dim sw As System.IO.StringWriter = New System.IO.StringWriter(sb)
    Dim hw As HtmlTextWriter = New HtmlTextWriter(sw)
    gvCustomers.RenderControl(hw)
    returnValue = sb.ToString()

End Sub

Public Function GetCallbackResult() _
As String Implements _
System.Web.UI.ICallbackEventHandler.GetCallbackResult

    Return returnValue

End Function

Public Function binddata(ByVal eventArgument As String) as nullable
    Dim adp As New dsRegistrationTableAdapters.searchPackagesTableAdapter()
    Dim dt As New dsRegistration.searchPackagesDataTable()
    dt = adp.GetData(eventArgument, StartDateTextBox.Text, EndDateTextBox.Text)


    gvCustomers.DataSource = dt
    gvCustomers.DataBind()
    SearchTextBox.Focus()


End Function

感谢大家的帮助....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    相关资源
    最近更新 更多