Загрузка пользовательского элемента управления с помощью вызова Jquery Ajax - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь вставить пользовательский элемент управления на страницу, используя JQuery

Моя страница выглядит следующим образом

<asp:Content ID="Body" ContentPlaceHolderID="body" runat="server">    
    <div id="Container">

    </div>

    <script type="text/javascript" language="javascript">

       function LoadUserControl(tabName) {
           $.ajax({
               type: "POST",
               url: ("TestHK.aspx?Show=" + tabName),
               success: function (html) {
                   document.getElementById('Container').innerHTML = html;                  
               },
               error: function (msg) {
                   alert('error' + msg);
               }
           });
        }

</asp:Content>

И на коде у меня есть

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["Show"]))
            {
                GetControlHtml("~/userControls/TreeViewAreas.ascx");              
            }
        }

    public void GetControlHtml(string controlLocation)
    {
        var page = new Page();
        var userControl = (TreeViewAreas)page.LoadControl(controlLocation);
        userControl.ButtonIsVisible = true;
        userControl.HousekeeperId = 7190;
        userControl.AreasCovered  = new HousekeeperBusiness().GetAreas(7190);            
        page.Controls.Add(userControl);
        using (var textWriter = new StringWriter())
        {
            HttpContext.Current.Server.Execute(page, textWriter, false);
            Response.Write(textWriter.ToString());
            Response.End();    
        }                       
    }

Но я всегда получаю

Ошибка выполнения дочернего запроса для обработчика 'System.Web.UI.Page'.

Что я делаю не так?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 марта 2011
1 голос
/ 27 января 2011

Я полагаю, что вы не будете добавлять UserControl с простым механизмом AJAX.

Это хороший пример использования UpdatePanel, потому что вы добавите новые элементы управления, и страница отобразит их.

Примечание. Я не считаю UpdatePanel хорошим вариантом, но считаю, что он соответствует вашим требованиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...