如何从jQuery AJAX调用WebMatrix Helper函数



我的App_Code文件夹中有一个helper方法,它返回一些要在页面上显示的html。我如何执行jQuery/AAJAX请求来调用该方法(传递一个int作为参数)并返回HTML以便在页面上显示它?

我到处找,根本不知道从哪里开始。如果有任何帮助,我将不胜感激。

添加另一个使用Helper渲染HTML的页面,并通过AJAX调用提供一个值。例如,您可能有一个名为RenderHelper.cshtml:的页面

@{
    var i = Request["id"].AsInt();
}
@Helpers.MyMethod(i)

然后在调用页面中,使用jQuery加载函数:

$('#elementToFill').load('RenderHelper/?id=' + some_int);

您可以使用web服务。

在web服务中调用类方法,并使用jQuery/Ajax调用web服务。

例如

类文件

Class MyClass
{
public static string GetName(string Name)
{
return "My name is "+Name;
}
}

Web服务

[WebService(Namespace = "WebService")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class YourNameIs : System.Web.Services.WebService
    {
        [WebMethod, ScriptMethod]
        public string GetName(string Name)
        {
            return MyClass.GetName(Name);
        }
    }

jQuery

$.ajax(
    {
        Type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "WebService.asmx/GetName",
        data: '{Name: "' + name + '"}',
        success: function (msg) {
            alert(msg.d); //set msg to any div elemts InnerHTML like $("#yourDivElement").html(msg.d);
        }
    });

我没有测试代码,希望它能给出一个想法。

最新更新