首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将“所有者”-identity传递给相关模型的创建视图。

将“所有者”-identity传递给相关模型的创建视图。
EN

Stack Overflow用户
提问于 2018-11-23 06:30:47
回答 1查看 26关注 0票数 0

我有一个Employees视图模型

代码语言:javascript
复制
public class EmployeeViewModel
{
    public int Id { get; set; }
    // some more properties
    public List<EmployeeReservationViewModel> Reservations { get; set; }
}

..。这张是给EmployeeReservations

代码语言:javascript
复制
public class EmployeeReservationViewModel
{
    public int Id { get; set; }
    public int EmployeeId { get; set; }
    // some more properties
    public EmployeeViewModel Employee { get; set; }
}

Employees Details-view中,我有一个添加新EmployeeReservation的链接,如下所示:

代码语言:javascript
复制
<a asp-controller="EmployeeReservations" 
   asp-action="Create">Add reservation</a>

我应该如何把EmployeeId传递给EmployeeReservations/Create-View?

目前,我在控制器中的Employees‘session方法中使用了一个会话变量,如下所示:

代码语言:javascript
复制
HttpContext.Session.SetInt32("EmployeeId", employee.Id);

..。然后在EmployeeReservations-controller中的Create方法中撤回它:

代码语言:javascript
复制
employeeReservation.EmployeeId = HttpContext.Session.GetInt32("EmployeeId").Value;
db.Add(employeeReservation);
await db.SaveChangesAsync();

我有一种感觉,我的方法不是最佳的。如果会议超时了呢?还有另外一种更安全的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-23 06:37:15

您可以使用asp-route id。

在望

代码语言:javascript
复制
<a asp-controller="EmployeeReservations" 
   asp-action="Create" asp-route-id="10">Add reservation</a>

在Controller中添加id作为参数,然后创建操作

代码语言:javascript
复制
Public IActionResult Create(string id){
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53441614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档