如何在asp.net MVC中使用ajax



如何在asp.net MVC中从Ajax返回类对象。。。。???

示例:

来自html:的Ajax调用

$.ajax({ 
            type: 'POST',
            url: '/Tutorial/Web/AlignmentRule/GetAlignmentDetails', 
            data: { alignmentRuleId: alignmentRuleId },
            success:
                function (data) {
                    alert(data.Id);
                        alert(data.alignmentData.Id);
                        $("#ruleName").val(data.alignmentData.Name);
                        $("#level").val(data.alignmentData.Id);
                },
            error:
                function () {
                    alert("Server Error!!!!");
                },
            dataType: 'JSON',
            async: false
        });

柔术中的动作方法是:

public virtual JsonResult GetAlignmentDetails(int alignmentRuleId)
    {
        var alignmentData = _allignmentRuleRepository.GetAlignmentById(alignmentRuleId);
        return Json( alignmentData );
    }

我还想返回alignmentRule类对象的列表。。。。

您可以根据需要组合返回对象,例如,创建一个ViewModel作为装饰器来保存您想要传递的所有内容,例如:

var json = new JsonViewModel() {
               alignmentData = alignmentData,
               rules = yourRules
           };
return Json(json);

抛出此错误是因为默认情况下MVC框架不允许您使用JSON响应HTTP GET请求(出于安全原因)。为了使其工作,当您在操作中重试Json时,您需要指定JsonRequestBehavior.AllowGet

[HttpPost]
public virtual JsonResult GetAlignmentDetails(int alignmentRuleId)
    {
        var alignmentData = _allignmentRuleRepository.GetAlignmentById(alignmentRuleId);
        return Json( alignmentData, JsonRequestBehavior.AllowGet);
    }

编辑

用[HttpPost]属性注释您的操作。

有关此主题的进一步调查,请查看本文

相关内容

  • 没有找到相关文章

最新更新