Я новичок в Asp.Net Core Razor Pages. И это мой первый вопрос о переполнении стека. Когда клиент выбирается из раскрывающегося списка на странице создания задания, я хочу получить сведения о клиенте со страницы клиентов, на которой он зарегистрирован, а затем отобразить номер мобильного телефона в соответствующем поле формы на странице создания задания.
Заранее спасибо.
Модель клиента:
public class Client
{
public int ID { get; set; }
[Required]
[StringLength(50)]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[StringLength(50, ErrorMessage = "First name cannot be longer than 50 characters.")]
[Column("FirstName")]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[DataType(DataType.PhoneNumber)]
[Display(Name = "Cellphone Number")]
public string CellNumber { get; set; }
[EmailAddress]
[Display(Name = "Email Address")]
public string Email { get; set; }
[Display(Name = "Residential Address")]
public string ResidentialAddress { get; set; }
[Display(Name = "Suburb")]
public string Suburb { get; set; }
[Display(Name = "City")]
public string City { get; set; }
[Display(Name = "Province")]
public string Province { get; set; }
[Display(Name = "Postal Code")]
public string PostalCode { get; set; }
[Display(Name = "Physical Address")]
public string PhysicalAddress
{
get
{
return ResidentialAddress + ", " + Suburb + ", " + City + ", " + Province + ", " + PostalCode;
}
}
[Display(Name = "Full Name")]
public string FullName
{
get
{
return LastName + ", " + FirstName;
}
}
Модель работы:
public class Job
{
public int ID { get; set; }
[StringLength(50, MinimumLength = 3)]
public string Title { get; set; }
[DataType(DataType.DateTime)]
public string AppointmentDate { get; set; }
[BindProperty, MaxLength(300)]
public string Description { get; set; }
public string PlumberID { get; set; }
public string ClientID { get; set; }
public Plumber Plumber { get; set; }
public Client Client { get; set; }
}
На странице создания задания.cshtml клиент должен быть выбран из раскрывающегося списка, а затем номер мобильного телефона клиента должен отображаться в поле формы «Номер мобильного телефона».
-- Select Client --
Создать страницу вакансии.cshtml.cs:
public class CreateJobModel : DropDownPageModel
{
private readonly RealAssisst.Data.ApplicationDbContext _context;
public CreateJobModel(RealAssisst.Data.ApplicationDbContext context)
{
_context = context;
}
public IActionResult OnGet()
{
PopulatePlumbersDropDownList(_context);
PopulateClientsDropDownList(_context);
return Page();
}
[BindProperty]
public Job Job { get; set; }
public Client Client { get; set; }
public async Task OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
var emptyJob = new Job();
if (await TryUpdateModelAsync(
emptyJob,
"job",
s => s.ID, s => s.PlumberID, s => s.ClientID, s => s.Title, s => s.AppointmentDate, s => s.Description))
{
_context.Jobs.Add(emptyJob);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
PopulatePlumbersDropDownList(_context, emptyJob.PlumberID);
PopulateClientsDropDownList(_context, emptyJob.ClientID);
return Page();
}
}
Заполните страницу раскрывающегося списка:
public class DropDownPageModel : PageModel
{
public SelectList PlumberNameSL { get; set; }
public SelectList ClientNameSL { get; set; }
public string ClientNumber { get; set; }
public void PopulatePlumbersDropDownList(ApplicationDbContext _context,
object selectedPlumber = null)
{
var plumbersQuery = from d in _context.Plumber
orderby d.FirstName
select d;
PlumberNameSL = new SelectList(plumbersQuery.AsNoTracking(),
"FullName", "FullName", selectedPlumber);
}
public void PopulateClientsDropDownList(ApplicationDbContext _context,
object selectedClient = null)
{
var clientQuery = from d in _context.Client
orderby d.FirstName
select d;
ClientNameSL = new SelectList(clientQuery.AsNoTracking(),
"FullName", "FullName", selectedClient);
}
}
Подробнее здесь: https://stackoverflow.com/questions/549 ... tem-values
Asp.Net Core Razor Pages DropDownList значения выбранных элементов ⇐ C#
Место общения программистов C#
-
Anonymous
1763186690
Anonymous
Я новичок в Asp.Net Core Razor Pages. И это мой первый вопрос о переполнении стека. Когда клиент выбирается из раскрывающегося списка на странице создания задания, я хочу получить сведения о клиенте со страницы клиентов, на которой он зарегистрирован, а затем отобразить номер мобильного телефона в соответствующем поле формы на странице создания задания.
Заранее спасибо.
Модель клиента:
public class Client
{
public int ID { get; set; }
[Required]
[StringLength(50)]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[StringLength(50, ErrorMessage = "First name cannot be longer than 50 characters.")]
[Column("FirstName")]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[DataType(DataType.PhoneNumber)]
[Display(Name = "Cellphone Number")]
public string CellNumber { get; set; }
[EmailAddress]
[Display(Name = "Email Address")]
public string Email { get; set; }
[Display(Name = "Residential Address")]
public string ResidentialAddress { get; set; }
[Display(Name = "Suburb")]
public string Suburb { get; set; }
[Display(Name = "City")]
public string City { get; set; }
[Display(Name = "Province")]
public string Province { get; set; }
[Display(Name = "Postal Code")]
public string PostalCode { get; set; }
[Display(Name = "Physical Address")]
public string PhysicalAddress
{
get
{
return ResidentialAddress + ", " + Suburb + ", " + City + ", " + Province + ", " + PostalCode;
}
}
[Display(Name = "Full Name")]
public string FullName
{
get
{
return LastName + ", " + FirstName;
}
}
Модель работы:
public class Job
{
public int ID { get; set; }
[StringLength(50, MinimumLength = 3)]
public string Title { get; set; }
[DataType(DataType.DateTime)]
public string AppointmentDate { get; set; }
[BindProperty, MaxLength(300)]
public string Description { get; set; }
public string PlumberID { get; set; }
public string ClientID { get; set; }
public Plumber Plumber { get; set; }
public Client Client { get; set; }
}
На странице создания задания.cshtml клиент должен быть выбран из раскрывающегося списка, а затем номер мобильного телефона клиента должен отображаться в поле формы «Номер мобильного телефона».
-- Select Client --
Создать страницу вакансии.cshtml.cs:
public class CreateJobModel : DropDownPageModel
{
private readonly RealAssisst.Data.ApplicationDbContext _context;
public CreateJobModel(RealAssisst.Data.ApplicationDbContext context)
{
_context = context;
}
public IActionResult OnGet()
{
PopulatePlumbersDropDownList(_context);
PopulateClientsDropDownList(_context);
return Page();
}
[BindProperty]
public Job Job { get; set; }
public Client Client { get; set; }
public async Task OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
var emptyJob = new Job();
if (await TryUpdateModelAsync(
emptyJob,
"job",
s => s.ID, s => s.PlumberID, s => s.ClientID, s => s.Title, s => s.AppointmentDate, s => s.Description))
{
_context.Jobs.Add(emptyJob);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
PopulatePlumbersDropDownList(_context, emptyJob.PlumberID);
PopulateClientsDropDownList(_context, emptyJob.ClientID);
return Page();
}
}
Заполните страницу раскрывающегося списка:
public class DropDownPageModel : PageModel
{
public SelectList PlumberNameSL { get; set; }
public SelectList ClientNameSL { get; set; }
public string ClientNumber { get; set; }
public void PopulatePlumbersDropDownList(ApplicationDbContext _context,
object selectedPlumber = null)
{
var plumbersQuery = from d in _context.Plumber
orderby d.FirstName
select d;
PlumberNameSL = new SelectList(plumbersQuery.AsNoTracking(),
"FullName", "FullName", selectedPlumber);
}
public void PopulateClientsDropDownList(ApplicationDbContext _context,
object selectedClient = null)
{
var clientQuery = from d in _context.Client
orderby d.FirstName
select d;
ClientNameSL = new SelectList(clientQuery.AsNoTracking(),
"FullName", "FullName", selectedClient);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/54980906/asp-net-core-razor-pages-dropdownlist-selected-item-values[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия