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