C# 将UserId传递给模型

C# 将UserId传递给模型,c#,.net,asp.net-mvc,viewdata,C#,.net,Asp.net Mvc,Viewdata,因此,我有一个简单的web应用程序,我可以在其中创建一个用户UserModel,并返回该用户ID。然后,用户可以输入特定项目类型的多个实例或记录,在本例中为地理位置LocationModel。LocationModel有一个UserId属性,我需要在创建位置时设置该属性 用于创建用户的ActionLink是user/Create/id=[userid] 控制器中的代码当前为 [HttpGet] public ActionResult Create(string id) { return

因此,我有一个简单的web应用程序,我可以在其中创建一个用户UserModel,并返回该用户ID。然后,用户可以输入特定项目类型的多个实例或记录,在本例中为地理位置LocationModel。LocationModel有一个UserId属性,我需要在创建位置时设置该属性

用于创建用户的ActionLink是user/Create/id=[userid]

控制器中的代码当前为

[HttpGet]
public ActionResult Create(string id)
{
     return View();
}

[HttpPost]
public ActionResult Create(LocationModel model)
{
   //CODE TO SAVE MODEL
}
我的问题是如何传递用户id,以便将其放入模型中,以便将两者关联起来。我本来想把它放到ViewBag中,然后在一个隐藏的区域中渲染它,但是我想应该有人有一个比这个更优雅的解决方案。提前感谢。

将用户ID放在模型上,然后将模型传递给视图:

[HttpGet]
public ActionResult Create(string id)
{
    return View(new LocationModel{UserId = id});
}
然后将UserId属性呈现为视图中的隐藏字段,以便在发布表单时将其包含在模型参数中

@model LocationModel
@using (Html.BeginForm(...)) {
    @Html.HiddenFor(m => m.UserId)
    ...
}