как привязать данные к определенному пользователем классу asp.net core 2 - PullRequest
0 голосов
/ 19 ноября 2018

Я определил модель, похожую на эту

public class X { 
int a;
MyClass b;
}

и у меня есть действие, похожее на это

public IActionResult Test(X x){}

Теперь, когда пользователь отправляет данные, я хочу манипулировать этими данными, а затем назначить их b. как я могу это сделать?

1 Ответ

0 голосов
/ 20 ноября 2018

Вы не предоставили подробного объяснения, например, как вы хотите отправить данные, предположим, у вас есть класс модели книги, который содержит дочернее свойство Author:

    public class Book
    {
       public int id { get; set; }

       public string name { get; set; }

       public Author author { get; set; }
    }


    public class Author {
        public int authorId { get; set; }

        public string authorName { get; set; }
    }

По вашему мнению, с использованием Tag Helpers в формах , вы можете привязать к Author.authorName:

@model Book

<form asp-controller="Home" asp-action="RegisterInput" method="post">
    BookID:  <input asp-for="id" /> <br />
    BookName: <input asp-for="name" /><br />

    AuthorID:  <input asp-for="author.authorId" /> <br />
    AuthorName: <input asp-for="author.authorName" /><br />
    <button type="submit">Register</button>
</form>

В контроллере вы обнаружите, что входные значения будут автоматически связываться со связанными свойствами:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> RegisterInput(Book book)
    {

        return View();
    }
...