Umbraco - 使用Ajax加载内容

时间:2011-06-01 06:38:57

标签: ajax load umbraco

我是Umbraco的新手,只是开始弄明白它的来龙去脉。

无论如何,我自己想出了文档类型,宏,模板,xslt文件的工作方式,现在我正在尝试做其他一些事情。即我需要使用AJAX调用加载文档内容。它基本上是一个带有菜单(动态,我想出如何加载)的面板,它根据所选的菜单项(加载菜单的文件)加载内容。我需要弄清楚的是如何使用AJAX调用来获取该内容,因为我不想重新加载页面。

这是使用Umbraco BASE扩展完成的还是我的想法在这里?如果是这样,怎么样?我只是编写一个类,然后在方法中拼接一个HTML字符串吗?

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

您可以使用 rest 方法。为此,您必须在config文件夹中编辑 restExtensions.config

Ajax Call

$.ajax({
        type: 'POST',
        url: "/base/AliasName/GetData.aspx",
        data: {

        },
        success:
                    function (data) {
                    }

    });

<强> restExtensions.config

<ext assembly="/DllName" type="Namespace.ClassName" alias="AliasName">
    <permission method="GetData" returnXml="false" allowAll="true" />
  </ext>

答案 1 :(得分:2)

是的,这正是Base用于的场景。

您可以在此处找到有关使用基础的文档:

http://our.umbraco.org/wiki/reference/umbraco-base/simple-base-samples

对于通过AJAX消耗base,那么JQuery就是答案。

http://api.jquery.com/jQuery.ajax/

这是一个被黑客攻击的例子(未经过测试的代码):

$(document).ready(function ()
{
    $(".buttonListener").click(function ()
    {
        $.ajax(
        {
            url: '/Base/TestAlias/Hello.aspx',
            success: function (data, textStatus, XMLHttpRequest)
            {
                alert(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown)
            {
                alert("Ka pow!");
            }
        });
        return true;
    });

答案 2 :(得分:0)

在MVC中使用umbraco进行Ajax调用

$('#TestClick').on('click',function(){
        $.ajax({
            url: 'umbraco/surface/Home/TestPage',
            type: 'POST',
            data: { id:10001},

            success: function (data) {
                alert(data);
            },
            error: function () {
                alert("error");
            }
            });
 })