Я довольно новичок. Net Core, EF Core & Razor pages.
У меня есть форма, которая использует сообщения на странице бритвы. Модель страницы имеет три связанных свойства, два из которых являются EF-моделями (я использую наследование только для связывания безопасных свойств), а одно - просто строку:
[BindProperty]
public Models.BaseEvent _Event { get; set; }
[BindProperty]
[Display(Name = "Venue Search")]
public string _VenueSearch { get; set; }
[BindProperty]
public Models.BaseVenue _Venue { get; set; }
Затем у меня есть форма, используемая для создания событие. При добавлении информации о событии они могут либо выбрать существующее место, используя поиск места, либо добавить новое. _VenueSearch обязан только автоматически заполнять форму в случае ошибки. Я использую jquery для выполнения автозаполнения в поле.
Однако я пытаюсь поместить форму в частичное, но не знаю, как передать _Event, _VenueSearch & _Venue?
<form method="post">
<input id="venueid" type="hidden" asp-for="_Venue.VenueID" />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="_Event.Name" class="control-label"></label>
<input asp-for="_Event.Name" class="form-control" />
<span asp-validation-for="_Event.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Event.StartDateTime" class="control-label"></label>
<input asp-for="_Event.StartDateTime" class="form-control" />
<span asp-validation-for="_Event.StartDateTime" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Event.EndDateTime" class="control-label"></label>
<input asp-for="_Event.EndDateTime" class="form-control" />
<span asp-validation-for="_Event.EndDateTime" class="text-danger"></span>
</div>
<hr />
<div id="search-container" class="form-group">
<label asp-for="_VenueSearch" class="control-label"></label>
<input id="venue" asp-for="_VenueSearch" class="form-control" />
<span asp-validation-for="_VenueSearch" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Venue.Name" class="control-label">Venue Name</label>
<input id="venue-name" asp-for="_Venue.Name" class="form-control" />
<span asp-validation-for="_Venue.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Venue.Address" class="control-label">Venue Address</label>
<input id="venue-address" asp-for="_Venue.Address" class="form-control" />
<span asp-validation-for="_Venue.Address" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Venue.City" class="control-label">Venue City</label>
<input id="venue-city" asp-for="_Venue.City" class="form-control" />
<span asp-validation-for="_Venue.City" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Venue.PostCode" class="control-label">Venue Postcode</label>
<input id="venue-postcode" asp-for="_Venue.PostCode" class="form-control" />
<span asp-validation-for="_Venue.PostCode" class="text-danger"></span>
</div>
<hr />
<div class="form-group">
<label asp-for="_Event.Description" class="control-label"></label>
<textarea asp-for="_Event.Description" class="form-control"></textarea>
<span asp-validation-for="_Event.Description" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="_Event.AgeRestriction" class="control-label"></label>
<input asp-for="_Event.AgeRestriction" class="form-control" />
<span asp-validation-for="_Event.AgeRestriction" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create Event" class="btn btn-primary" />
</div>
</form>
Как бы я описал это как частичное, чтобы у меня все еще был доступ к двум моделям и строке (_Event, _Venue & _VenueSearch. Я не включил код автозаполнения javascript, поскольку он не имеет отношения к этому сообщению .
Я хочу использовать частичное, поскольку обе мои страницы создания / редактирования будут использовать одну и ту же форму, поэтому я не вижу смысла дублирования.
Заранее благодарен за любую помощь
Мэтт