如果我在视图上有以下内容
@Html.DisplayFor(model => model.sLevelid)
Controller
Public actionresult GetName(int id)
{
}
如何将 id 传递给控制器,以便创建 linq 查询以在数据库中的单独表上获取 id 所属的名称?提前致谢
如果我在视图上有以下内容
@Html.DisplayFor(model => model.sLevelid)
Controller
Public actionresult GetName(int id)
{
}
如何将 id 传递给控制器,以便创建 linq 查询以在数据库中的单独表上获取 id 所属的名称?提前致谢
在你看来是这样的:
// 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>
我相信如果您在 Controller 方法签名中使用名称“sLevelid”,它将起作用:
Public actionresult GetName(int sLevelid)
然后,您可以使用此 id 通过 linq 查询查找对象。这是可行的,因为表单 post 中的名称与签名中的 int 名称匹配,因此框架会自动将其绑定到 int 变量。
此外,请检查视图是否名为“GetName.cshtml”,因为在正常情况下它必须与方法的名称匹配。