Как передать xml пользовательского объекта в метод ASP.NET MVC Action через fiddler - PullRequest
0 голосов
/ 26 июля 2011

Я хочу протестировать метод действия MVC, который принимает пользовательский параметр класса через POST (например, Book), у меня проблема с передачей параметра через fiddler. Ниже мой код:

 [HttpPost]  
  public ActionResult BookEdit(BookModel bookModel)
  {

            ...
            return View(...);
  }

 public class BookModel
    {
        public BookModel()
        {        
        }

        public BookModel(Book book)
        {
            this.Authors = book.Authors;
        }

        public List<Author> Authors { get; set; }
    }

    public  class Book
    {
        public List<Author> Authors = new List<Author>();
    }

    public class Author
    {
        public string Name { get; set; }
    }

Ниже приведен XML-файл, публикуемый в методе действия

    <BookModel>
        <Authors>
            <Author>
                <Name>1</Name>              
            </Author>
<Author>
                <Name>2</Name>
            </Author>
        </Authors>
    </BookModel>

Когда я передаю xml, параметр метода действия имеет значение null.

Есть идеи?

1 Ответ

2 голосов
/ 26 июля 2011

Когда я передаю xml, параметр метода действия имеет значение null.

Ну, это нормально. Я не вижу ни одного вашего кода, который бы анализировал этот XML в объект BookModel. ASP.NET MVC не делает этого по умолчанию. Он делает это для JSON, но не для XML.

Одной из возможностей было бы написать пользовательский провайдер значений XML как , показанный здесь . Другой возможностью является атрибут фильтра настраиваемого действия . Еще одна модель - это пользовательская модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...