使用jQuery .load()加载用户控件

时间:2013-03-19 10:15:17

标签: c# jquery asp.net user-controls

我正在使用一个干净的测试页面,并使用jQuery的user control函数加载.load()。 我得到的当前错误是这样的:
GET http://localhost:27950/OCDB/test.ascx 403 (Forbidden)

这是我的网页代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<%@ Register Src="~/test.ascx" TagPrefix="uc1" TagName="test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>This is a test.</title>

     <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#ucPlaceholder').load('test.ascx');
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="ucPlaceholder">
    </div>
    </form>
</body>
</html>

我的用户控制代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="test.ascx.cs" Inherits="test" %>

<input placeholder="test input"/>

正如你所看到的,它超级简单。我的直接猜测是页面没有拿起Register。有人能告诉我哪里出错了吗?

1 个答案:

答案 0 :(得分:3)

我认为你不能使用jQuery直接调用用户控件。
但你可以为它提供通用的http处理程序的帮助。

http://blog.ovesens.net/2008/12/dynamically-loading-asp-net-user-controls-with-jquery/
http://www.codeproject.com/Articles/117475/Load-ASP-Net-User-Control-Dynamically-Using-jQuery