0

如果我在视图上有以下内容

@Html.DisplayFor(model => model.sLevelid) 

Controller 
Public actionresult GetName(int id)
{


}

如何将 id 传递给控制器​​,以便创建 linq 查询以在数据库中的单独表上获取 id 所属的名称?提前致谢

4

2 回答 2

2

在你看来是这样的:

// GetName here refers to the name of the action on your controller
@{ Html.RenderAction("GetName", new { id = @Model.sLevelid }); }

然后您的控制器操作将如下所示:

public PartialViewResult GetName(int id)
{
    var model = // Use Linq to get whatever you need by the id

    return PartialView("_GetName", model);
}

然后,您将在~/Views/Shared/文件夹中创建一个局部视图,并将其命名为_GetName.cshtml。该视图将如下所示:

@model TheTypeOfModelGetNameReturns

<div>@Model.SomeProperty</div>
于 2013-11-08T14:21:20.603 回答
0

我相信如果您在 Controller 方法签名中使用名称“sLevelid”,它将起作用:

Public actionresult GetName(int sLevelid)

然后,您可以使用此 id 通过 linq 查询查找对象。这是可行的,因为表单 post 中的名称与签名中的 int 名称匹配,因此框架会自动将其绑定到 int 变量。

此外,请检查视图是否名为“GetName.cshtml”,因为在正常情况下它必须与方法的名称匹配。

于 2013-11-08T15:32:59.070 回答