Asp.net mvc 如何绑定当前记录的用户id并将其传递给控制器中的create方法

Asp.net mvc 如何绑定当前记录的用户id并将其传递给控制器中的create方法,asp.net-mvc,database,asp.net-mvc-5,Asp.net Mvc,Database,Asp.net Mvc 5,我有一个名为advision的表,它有许多列,包括UserId作为外键引用它。即引用AspNetUsers表ID列。此表是使用项目本身创建的表 我已经创建了广告表和用户CRUD,用于创建控制器和视图以更新表。当它创建视图时,它创建了一个下拉列表,我必须在其中选择当前登录的用户。但是我想从user.Identity.GetUserID中获取当前用户id,并将其分配到UserId字段,然后将其发布到create方法中,以便将其保存在广告表中 我该怎么做?如何将值绑定到它而不是从下拉列表中选择? 抱歉

我有一个名为
advision
的表,它有许多列,包括
UserId
作为外键引用它。即引用
AspNetUsers
表ID列。此表是使用项目本身创建的表

我已经创建了广告表和用户CRUD,用于创建控制器和视图以更新表。当它创建视图时,它创建了一个下拉列表,我必须在其中选择当前登录的用户。但是我想从
user.Identity.GetUserID
中获取当前用户id,并将其分配到
UserId
字段,然后将其发布到create方法中,以便将其保存在
广告
表中

我该怎么做?如何将值绑定到它而不是从下拉列表中选择?

抱歉,因为我是新加入这个MVC的,我可能解释错了。如果你对此不清楚,我可以就我的问题提供更多细节

请看这里了解我的部分观点

   <div class="form-group">
        @Html.LabelFor(model => model.UserId, "UserId", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("UserId", null, htmlAttributes: new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.UserId, "", new { @class = "text-danger" })
    </div>
如何将值绑定到[模型属性],而不是从下拉列表中进行选择

在GET的控制器操作中(代码仅显示POST),只需将
model.UserId
设置为您想要的值并使用它即可

@Html.HiddenFor(x=>x.UserId)
而不是
下拉列表
。如果仍然希望显示/允许更改它,可以使用
DropDownListFor
;如果不希望将其绑定到viewmodel上的属性,可以使用
@Html.Hidden(“UserID”)

我想从user.Identity.GetUserID获取当前用户id。。。将其发布到create方法,以便保存在广告表中

为什么不在POST操作中直接使用
User.Identity.GetUserID

如果您正试图这样做,那么似乎没有必要通过视图传递它。在控制器中,当前用户是
user.Identity.Name

我可能错过了一些东西

@Html.HiddenFor(x=>x.UserId)