如何将强类型的复杂对象传递给MVC3中的Ajax方法

跳蚤

我有一个名为的模型类ReferralModel该类具有包含其他对象的属性:

public class ReferralModel
{
    public Referral Referral { get; set; }
    public Address Address { get; set; }
    public Patient Patient { get; set; }
}

这是Address该类的示例

public class Address
{
    public int Id { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
    public bool IsPrimary { get; set; }
}

我想在客户端构造对象以通过Ajax发送,但是在尝试以这种方式构造对象时遇到语法错误:

var request = $.ajax({
            type: "POST",
            url: "@Url.Action("AjaxCreateReferral", "Referral")",
            data: JSON.stringify({
                referralModel: {
                    ReferralModel.Address.Address1: $("#txtAddress1").val(),
                    ReferralModel.Address.Address2: $("#txtAddress2").val()
                }
            }),
            contentType: "application/json; charset=utf-8",
            dataType: "text",
            success: function (response)
            {
                var dataObject = jQuery.parseJSON(response);
                $("#hidPatientId").text(dataObject.patientId);
            }
        });

Visual Studio不喜欢这ReferralModel.Address.Address1行。有没有办法正确地构造它?

谢谢!

埃里克·飞利浦(Erik Philips)

出色地

referralModel: {
  ReferralModel.Address.Address1: $("#txtAddress1").val(),
  ReferralModel.Address.Address2: $("#txtAddress2").val()
}

似乎不太接近匹配:

public class ReferralModel
{
  public Referral Referral { get; set; }
  public Address Address { get; set; }
  public Patient Patient { get; set; }
}

您要匹配属性名称而不是类型,因此它应该看起来像:

// Start of the object in the signature
// in the example below will be ReferralModel model
{
  // name of a property in the signature model
  // model.Address
  Address: 
  {
    // name of a property in the class of the previous property
    // model.Address.Address1 (etc)
    Address1: $("#txtAddress1").val(),
    Address2: $("#txtAddress2").val()
  }
}

假设您有一个签名类似的方法:

public ActionResult Index(ReferralModel model)
{
  //...
}

另外,这实际上不是处理返回的JSON的首选方法。

dataType: "text",
success: function (response)
{
  var dataObject = jQuery.parseJSON(response);
  $("#hidPatientId").text(dataObject.patientId);

根据jQuery Docs:

dataType(默认值:Intelligent Guess(xml,json,脚本或html))

..如果未指定,则jQuery将尝试根据响应的MIME类型来推断它(XML MIME类型将产生XML,在1.4中,JSON将产生JavaScript对象。

因此可以轻松地将其简化为:

success: function (dataObject)
{
  $("#hidPatientId").text(dataObject.patientId);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将复杂的对象集合传递给MVC中的控制器

来自分类Dev

如何将python对象传递给需要指针类型的函数

来自分类Dev

如何将javascript对象传递给C#MVC 4控制器

来自分类Dev

如何将任何可以显示文本的对象传递给C#方法

来自分类Dev

如何将复杂的JSON对象传递给ASP.net控制器

来自分类Dev

将JSON对象传递给MVC

来自分类Dev

如何将ng-repeat中的当前对象传递给$ mdDialog?

来自分类Dev

如何将std :: bind对象传递给函数

来自分类Dev

如何将多个Json对象传递给ASP.net MVC控制器?

来自分类Dev

如何将DropZone JSON对象传递给AngularJS?

来自分类Dev

如何将json对象传递给$ eval函数

来自分类Dev

如何将复杂的,不可序列化的对象传递给android片段

来自分类Dev

如何将多个相同类型的对象传递给控制器?

来自分类Dev

如何将特征对象传递给向量,该向量在向量的向量中也将具有统一的类型?

来自分类Dev

如何将本地异常对象传递给类

来自分类Dev

如何将泛型类型对象传递给类构造函数

来自分类Dev

如何将C#对象传递给$ .ajax

来自分类Dev

如何将未知对象传递给方法并确定其类型?

来自分类Dev

我如何将对象传递给Ajax中的处理程序

来自分类Dev

如何将Controller的FormCollection和类类型对象传递给操作

来自分类Dev

如何将SplitContainer和Panel对象传递给方法

来自分类Dev

如何将任何可以显示文本的对象传递给C#方法

来自分类Dev

如何将服务对象传递给Android中的子类?

来自分类Dev

如何将Ajax中的FormData和JSON对象传递给Spring MVC Controller?

来自分类Dev

如何将实例化的对象传递给相机

来自分类Dev

如何将 Ajax Json 对象传递给 .Net Core 中的控制器类?

来自分类Dev

如何将实际对象传递给采用对象引用的方法

来自分类Dev

cpp 如何将 state_t* 类型的对象传递给函数

来自分类Dev

如何将类的对象传递给对象的类函数中的函数?

Related 相关文章

  1. 1

    如何将复杂的对象集合传递给MVC中的控制器

  2. 2

    如何将python对象传递给需要指针类型的函数

  3. 3

    如何将javascript对象传递给C#MVC 4控制器

  4. 4

    如何将任何可以显示文本的对象传递给C#方法

  5. 5

    如何将复杂的JSON对象传递给ASP.net控制器

  6. 6

    将JSON对象传递给MVC

  7. 7

    如何将ng-repeat中的当前对象传递给$ mdDialog?

  8. 8

    如何将std :: bind对象传递给函数

  9. 9

    如何将多个Json对象传递给ASP.net MVC控制器?

  10. 10

    如何将DropZone JSON对象传递给AngularJS?

  11. 11

    如何将json对象传递给$ eval函数

  12. 12

    如何将复杂的,不可序列化的对象传递给android片段

  13. 13

    如何将多个相同类型的对象传递给控制器?

  14. 14

    如何将特征对象传递给向量,该向量在向量的向量中也将具有统一的类型?

  15. 15

    如何将本地异常对象传递给类

  16. 16

    如何将泛型类型对象传递给类构造函数

  17. 17

    如何将C#对象传递给$ .ajax

  18. 18

    如何将未知对象传递给方法并确定其类型?

  19. 19

    我如何将对象传递给Ajax中的处理程序

  20. 20

    如何将Controller的FormCollection和类类型对象传递给操作

  21. 21

    如何将SplitContainer和Panel对象传递给方法

  22. 22

    如何将任何可以显示文本的对象传递给C#方法

  23. 23

    如何将服务对象传递给Android中的子类?

  24. 24

    如何将Ajax中的FormData和JSON对象传递给Spring MVC Controller?

  25. 25

    如何将实例化的对象传递给相机

  26. 26

    如何将 Ajax Json 对象传递给 .Net Core 中的控制器类?

  27. 27

    如何将实际对象传递给采用对象引用的方法

  28. 28

    cpp 如何将 state_t* 类型的对象传递给函数

  29. 29

    如何将类的对象传递给对象的类函数中的函数?

热门标签

归档