Ich habe die folgende Auswahlliste:
<select d="Owner_Id" name="Owner.Id">
<option value="">[Select Owner]</option>
<option value="1">Owner 1</option>
<option value="2">Owner 2</option>
<option value="3">Owner 3</option>
</select>
Es wird gebunden an:
public class Part
{
// ...other part properties...
public Owner Owner {get; set;}
}
public class Owner
{
public int Id {get; set;}
public string Name {get; set;}
}
Das Problem, auf das ich stoße, ist, dass wenn die [Select Owner]
Option ausgewählt ist, dann wird ein Fehler ausgelöst, weil ich eine leere Zeichenfolge zu einem int binden. Das Verhalten, das ich will, ist eine leere Zeichenfolge nur Ergebnisse in eine Null-Eigentümer-Eigenschaft auf Teil.
Gibt es eine Möglichkeit, den Part Model Binder zu ändern, um dieses Verhalten zu erreichen? Also, wenn die Bindung der Owner-Eigenschaft von Part, wenn Owner.Id eine leere Zeichenfolge ist dann nur eine Null Owner zurückgeben. Ich kann das Owner Model Binder nicht ändern, da ich das Standardverhalten in seinem eigenen Controller benötige (Hinzufügen/Entfernen von Besitzern).