Ich habe einen Nancy Service, der eine Ansicht rendert. Die Ansicht enthält zwei Modelle, Mitarbeiter und Person. Beide Modelle haben eine Eigenschaft namens Name. Wenn diese Werte zurückgeschickt werden, scheint Nancy den ersten Bind <> zu übernehmen und wendet ihn auf beide Eigenschaften mit dem gleichen Namen an. Gibt es eine Möglichkeit, die Eingabe an ein bestimmtes Modell zu binden, das ich anders als unten beschrieben habe?Nancy Bindung an Modelle mit gleichen Eigenschaften
Dies ist das Modul.
public class IndexModule : NancyModule
{
public IndexModule()
: base("/")
{
Get["/"] = parameters =>
{
var returnModel = new ReturnModel();
return View["index.cshtml", returnModel];
};
Post["/"] = parameters =>
{
var person = this.Bind<Person>(); //Name="Name"
var employee = this.Bind<Employee>(); //Name="Name", should be "empName"
return 200;
};
}
}
public class ReturnModel
{
public Person PersonModel;
public Employee EmployeeModel;
public ReturnModel()
{
PersonModel = new Person();
EmployeeModel = new Employee();
PersonModel.Name = "Name";
EmployeeModel.Name = "empName";
}
}
HTML-Ansicht
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<NancyTestSite.Modules.ReturnModel>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
<form method="POST">
<input name="@(Model.EmployeeModel.Name)" type="text" value="@(Model.EmployeeModel.Name)">
<input name="@(Model.PersonModel.Name)" type="text" value="@(Model.PersonModel.Name)">
<button type="submit">Submit</button>
</form>