سؤال

ولدي مشكلة تمر في نوع معقد إلى وحدة تحكم.

وهنا هو كيف لي نموذج يشبه:

public class Party
{
    [XmlAttribute]
    public int RsvpCode { get; set; }
    public List<Guest> Guests { get; set; }
    public string Comments { get; set; }
}

public class Guest
{
    [XmlAttribute]
    public string Name { get; set; }
    [XmlAttribute]
    public int MealOption { get; set; }
    [XmlAttribute]
    public bool Attending { get; set; }
}

وطريقة تحكم بلادي يبدو مثل هذا:

    public JsonResult Submit(Party party)
    {
        return Json(party);
    }

وأنا أحاول القيام دعوة اياكس بلدي مثل هذا:

var party = { RsvpCode: 1, Guests: [{ Name: "test asdfasdf", MealOption: 1, Attending: true }, { Name: "test asdfasdf", MealOption: 1, Attending: true}] };

                $.getJSON("/Rsvp/Submit", party, function(response) {
                    alert(response);
                });

وشيء ما يحدث خطأ ولكن لست متأكدا ما. أنا الحصول على أي شيء عاد لي في بيان في حالة تأهب. أي أفكار؟

ولقد حاول أيضا النظر في القيمة التي يجري تقديمها إلى طريقة وحدة التحكم وأنها لا تبدو صحيحة. أنا فقدان المعلومات في مكان ما في الدعوة اياكس.

وكما أنني حاولت هذا خلق كائن حزبي مثل هذا وأنه لم يعمل:

var party = { "RsvpCode": 1, "Guests": [{ "Name": "test asdfasdf", "MealOption": 1, "Attending": true }, { "Name": "test asdfasdf", "MealOption": 1, "Attending": true}], "Comments": "testdsfsdf" };
هل كانت مفيدة؟

المحلول

وعندما كنت بناء المتغير الحزب، ASP.NET MVC تتوقع أن تبدو مثل هذا:

وفار حزب = { "RsvpCode": 1، "زائر [0] .Name": "asdfasdf اختبار"، "زائر [0] .MealOption": 1، "زائر [0] .Attending": صحيح، " زوار [1] .Name ":" asdfasdf اختبار "،" زائر [1] .MealOption ": 1،" زائر [1] .Attending ": صحيح،" تعليقات ":" testdsfsdf "}؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top