Data Binding - jak zbindować tylko jedną wartość a reszty nie ruszać.

0

Cześć, pytanie odnośnie data bindingu, czy da się zbindować "wszystko" od razu w technologi MVC? O co mi biega, tzn mam np. wysłać wiadomość, więc robie to tak:


public async Task<IActionResult> SendMessage([Bind("PlayerName, Title, BodyOfMessage")] Message message)...

Tutaj jest ok.. bo propercji do zbindowania jest mało (PlayerName, Title, BodyOfMessage) mam na myśli.

Co jeśli chcę zaktualizować użytkownika (opcja edit), a on tych propertisów w klasie (kolumn) ma od groma (name, registerdata, dateofbirth itd itp), czy muszę się tak rozpisywać.

public IActionResult EditMyProfile(int profileId, [Bind("Name, Birthday, RegisterData. [...]")] User user)

Jak nie binduję danych podczas edycji, po przesłaniu formularza wtedy te wartości co nie uwzględniłem w databindingu przypisują wartość "null".
Generalnie chciałem zbindować tylko np. Name tylko, nie musząc bindować całego profilu użytkownika. A hasła nie moge zbindować, z wiadomych powodów a po przesłaniu formularzu bez uwzględnienia jakiejś propercji zmienia jej wartość na null

1

Utworz nowa klasę dla edycji tylko Name z Id profilu.

1

Generalnie stwórz UserViewModel, który będzie miał tylko te pola możliwe do edycji. I wtedy pobierasz je do inputów w formie i po problemie.

0

@Juhas:
@jacek.placek:
Dzięki panowie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1