让我看看我是否能更清楚地说明我在寻找什么。
我有一个视图'UpdateLead'
在我的控制器GET我有…
[HttpGet]
public ActionResult UpdateLead()
{
LoginUser user = Session["User"] as LoginUser;
if (user != null)
{
BusinessLead bl = new BusinessLead();
bl.Name = "some stuff";
return View(bl1);
}
return RedirectToAction("Login", "Main");
}
所以当我看到视图时,'name'字段有文本"some stuff".
,但我想要的基本上是从gridview,这是在另一个视图上称为'ViewLeads'的'name'信息。网格视图是一个inffragistics网格。如果用户选择网格中的第三个用户,我希望返回该用户(用户ID 3)的所有数据。我是MVC新手,现在完全迷路了。谢谢!
您可以为动作添加一个name参数。如果我能正确理解你在代码中做的事情....
[HttpGet]
public ActionResult UpdateLead(String name = "")
{
if (!String.IsNullOrEmpty(name))
{
LoginUser user = name as LoginUser;
BusinessLead bl = new BusinessLead();
bl.Name = "some stuff";
return View(bl1);
}
if (user != null)
{
LoginUser user = Session["User"] as LoginUser;
BusinessLead bl = new BusinessLead();
bl.Name = "some stuff";
return View(bl1);
}
return RedirectToAction("Login", "Main");
}
通过Id:
[HttpGet]
public ActionResult UpdateLead(Int32 UserId = -1)
{
LoginUser user = Session["User"] as LoginUser;
if (UserId > -1)
{
BusinessLead bl = new BusinessLead();
bl.Name = "some stuff";
bl = GetUserInfoById(UserId); // Some method you need to make to populate your BusinessLead class based on the id field
return View(bl1);
}
if (user != null)
{
BusinessLead bl = new BusinessLead();
bl.Name = "some stuff";
return View(bl1);
}
return RedirectToAction("Login", "Main");
}
你可以使用Html。gridview中的ActionLink
@Html.ActionLink(UserName, "UpdateLead" "ControllerName", new {name=UserName}, null)
关于你的评论:Html。ActionLink为您生成链接。如果您想手动合并,您可以尝试这样做:
column.For(x => x.Name).Template("<a href='UpdateLead?name=${Name]'style='color:blue;'>${Name}</a>").HeaderText("Name").Width("10%");
编辑我刚刚注意到你提到了(user ID 3)
。你可以通过传递一个整数来做同样的事情。您可以让它为空并检查值,也可以将其默认为0或其他一些永远无法检查的数字。