Asp.net mvc 4 如何在webgrid的html.actionlink中将记录传递给控制器

Asp.net mvc 4 如何在webgrid的html.actionlink中将记录传递给控制器,asp.net-mvc-4,Asp.net Mvc 4,我使用下面的webgrid显示用户详细信息。当我单击网格中的编辑链接时,相应的记录应该移动到控制器操作方法“EditOfflineUser”。 我尝试发送项目值,如下所示。但控制器中的值为null 请让我知道如何将相应的记录传递给控制器。 在下面的代码中,我将在控制器中获取userId值 CSHtml文件 @if (Model.OfflineUserList.Count != 0) { WebGrid gridoffline = new WebGrid(rowsPerPage: 10, c

我使用下面的webgrid显示用户详细信息。当我单击网格中的编辑链接时,相应的记录应该移动到控制器操作方法“EditOfflineUser”。 我尝试发送项目值,如下所示。但控制器中的值为null 请让我知道如何将相应的记录传递给控制器。 在下面的代码中,我将在控制器中获取userId值

CSHtml文件

@if (Model.OfflineUserList.Count != 0)
{
   WebGrid gridoffline = new WebGrid(rowsPerPage: 10, canPage: true);
    gridoffline.Bind(Model.OfflineUserList, autoSortAndPage: true, rowCount: 10);
    @gridoffline.GetHtml(
    fillEmptyRows: false,
    tableStyle: "table",
    headerStyle: "header",
    alternatingRowStyle: "alt",
    htmlAttributes: new { id = "wbgUserOffline" },
    mode: WebGridPagerModes.All,
    columns: gridoffline.Columns(
    gridoffline.Column(columnName: "UserName", header: "Username", canSort: false),
    gridoffline.Column(columnName: "FirstName", header: "Firstname", canSort: false),
    gridoffline.Column(columnName: "LastName", header: "Lastname", canSort: false),
    gridoffline.Column(columnName: "RegistrationOffice", header: "Registration Office", canSort: false),
    gridoffline.Column(header: "", format: @<text>@Html.ActionLink("Edit", "EditOfflineUser", "Admin", new { id = item.UserId, offlineUsers = item }, new { id = "btnEditClick", @class = "edit" })</text>),
    gridoffline.Column(header: "", format: @<text>@Html.ActionLink("View", "ViewOfflineUser", "Admin", new { usrname = item.UserName }, new { @class = "view" })</text>)));
型号:

public class ListOfUsers
{
    public ListOfUsers()
    {
        OnlineUserList = new List<ListOfUsers>();
        OfflineUserList = new List<ListOfUsers>(); 
    }

    public List<ListOfUsers> OnlineUserList { get; set; }
    public List<ListOfUsers> OfflineUserList { get; set; }
    public List<SelectListItem> UserCountryList { get; set; }

    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string RegistrationOffice { get; set; }
    public string PositionAtOffice { get; set; }
    public string PhoneNo { get; set; }
公共类列表用户
{
公共列表用户()
{
OnlineUserList=新列表();
OfflineUserList=新列表();
}
公共列表OnlineUserList{get;set;}
公共列表OfflineUserList{get;set;}
公共列表UserCountryList{get;set;}
公共字符串用户名{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共字符串注册办公室{get;set;}
公共字符串位置办公室{get;set;}
公共字符串PhoneNo{get;set;}

}

new{id=item.UserId,offlineUsers=item}中的
item
是什么,您是否能够在Controllerd中获取id值?您是否测量
ListoUsers
-它没有
UserId
属性?。并且不能在查询字符串中传递具有集合属性的模型。您拥有
UserId
,因此只需从数据库中获取模型,您在actionlink中提到的id为new{id=item.UserId。您是否能够在EditOfflineUser ActionMethod上获取项目UserId是的,我能够在controller中获取id值。
public class ListOfUsers
{
    public ListOfUsers()
    {
        OnlineUserList = new List<ListOfUsers>();
        OfflineUserList = new List<ListOfUsers>(); 
    }

    public List<ListOfUsers> OnlineUserList { get; set; }
    public List<ListOfUsers> OfflineUserList { get; set; }
    public List<SelectListItem> UserCountryList { get; set; }

    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string RegistrationOffice { get; set; }
    public string PositionAtOffice { get; set; }
    public string PhoneNo { get; set; }