使用jQuery刷新用户控件

时间:2011-12-05 14:26:52

标签: jquery ajax vb.net user-controls

我有一个用户控件,可以在页面中显示一个简单的下拉列表。

默认情况下,根据用户详细信息仅返回特定值,但用户可以请求“完整”列表。

我希望通过按重新加载按钮生成此完整列表。

成为.NET的新手我正努力让这个工作起来并且不能真正理解谷歌搜索或在这个网站上找到东西时得到的结果。是经典ASP我已经创建了一个呈现这个并使用jQuery调用它的页面

我想做的是:

    $('.loadMore').live('click', function () {
        $('#listContainer').load('/Controls/List.ascx');
    });

但是这会在Firebug中返回错误"NetworkError: 403 Forbidden"

我不特别想使用更新面板。

我发现了这个链接:http://www.codeproject.com/Articles/117475/Load-ASP-Net-User-Control-Dynamically-Using-jQuery但是我不确定它究竟是什么建议,主要是我认为,因为我使用VB并且不完全理解如何在那里转换那些C#代码。

使用.NET 2.0,jQuery和VB,有没有人对最简单的方法有任何建议?

1 个答案:

答案 0 :(得分:1)

转换可以帮助您:

Public Class jQueryHandler
    Implements IHttpHandler
    Public Sub ProcessRequest(context As HttpContext)
        ' We add control in Page tree collection
        Using dummyPage = New Page()
            dummyPage.Controls.Add(GetControl(context))
            context.Server.Execute(dummyPage, context.Response.Output, True)
        End Using
    End Sub

    Private Function GetControl(context As HttpContext) As Control
        ' URL path given by load(fn) method on click of button
        Dim strPath As String = context.Request.Url.LocalPath
        Dim userctrl As UserControl = Nothing
        Using dummyPage = New Page()
            userctrl = TryCast(dummyPage.LoadControl(strPath), UserControl)
        End Using
        ' Loaded user control is returned
        Return userctrl
    End Function

    Public ReadOnly Property IsReusable() As Boolean
        Get
            Return True
        End Get
    End Property
End Class