我在[{1}}页面中的当前代码:
Index.cshtml
上面的代码让我在点击@Html.ActionLinks(@Html.ActionLink(objList.Name, "Name", "ControllerName", new {Id=objList.Id}, new {target = "_blank"}))
页面中的链接后在新标签页中打开一个页面(Name.cshtml
)。但我的目标是为新标签指定一个名称(Index
)作为objList.Name
。
因此,我在以下代码中添加了Title属性,但它没有按预期工作。
Title
如何实现这一目标?
答案 0 :(得分:2)
您必须将objList.Name作为参数传递给“Name”操作,在此操作中,您可以在Viewbag中包含该名称:
ViewBag.MyTitle = nameParameter;
在“名称”视图中:
<title>@ViewBag.MyTitle</title>
如果您使用的是布局页面,则只需将其放在“名称”操作中:
ViewBag.Title = nameParameter;
因为在你的布局视图中你可能有这个:
<title>@ViewBag.Title</title>
答案 1 :(得分:0)
我认为代码中的“标题”是在链接上添加鼠标悬停标题。
要在标签中添加标题,请使用carlos的解决方案(在标题页中放置标题标签和视图包)。
答案 2 :(得分:0)
只需将Name
添加到RouteValueDictionary
,将其添加到ActionResult
,然后设置ViewBag.Title
。
首先,将您的ActionLink
更改为:
Html.ActionLinks(@Html.ActionLink(objList.Name, "Name", "ControllerName", new {Id=objList.Id, Name=objList.Name}, new {target = "_blank"}))
然后创建一个模型(如果在Name表中没有模型),例如:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
}
然后将您的Name
ActionResult
更改为:
public ActionResult Name(int Id, string Name)
{
MyModel model = new MyModel
{
Id = Id,
Name = Name
};
return View(model);
}
然后将模型添加到Name
视图中:
@model MyModel
然后在ViewBag.Title
视图中设置Name
:
ViewBag.Title = Model.Name;