2013-04-18 44 views
2

我目前在Index.cshtml頁代碼:如何將名稱設置爲從@ Html.ActionLink CSHTML頁面一家新開張的選項卡的標題

@Html.ActionLinks(@Html.ActionLink(objList.Name, "Name", "ControllerName", new {Id=objList.Id}, new {target = "_blank"})) 

上面的代碼讓我打開一個頁面(Name.cshtml)點擊Index頁面中的鏈接後,在新標籤頁中。但我的目標是爲新標籤指定一個名稱(objList.Name)作爲Title。 因此,我在以下代碼中添加了Title屬性,但它不能按預期工作。

@Html.ActionLinks(@Html.ActionLink(objList.Name, "Name", "ControllerName", new {Id=objList.Id}, new {target = "_blank", title = objList.Name})) 

如何實現這個目標?

+0

在你name.cshtml標記 - 我的標題 2013-04-18 07:11:39

+0

Thers是因爲沒有提及的標記.. 'name.cshtml'頁面 – 2013-04-18 07:18:18

+0

是的 - 將標記添加到您的cshtml頁面 - 您不需要任何額外的代碼在行動鏈接 – 2013-04-18 07:27:38

回答

2

你必須通過objList.Name作爲參數傳遞給「名稱」的動作,這個動作可以包括在Viewbag名稱:

ViewBag.MyTitle = nameParameter; 

並在「名稱」的觀點:

<title>@ViewBag.MyTitle</title> 

如果您使用的是佈局頁,你只有把這個在「名稱」行動:

ViewBag.Title = nameParameter; 

因爲在你的佈局來看,你可能有這樣的:

<title>@ViewBag.Title</title> 
+0

正常工作正常。謝謝。 – 2013-04-18 08:42:12

0

「標題」在你的代碼的鏈接添加鼠標懸停標題,我想。

要在標籤中使用標題,請使用carlos解決方案(將標題標籤和viewbag道具放入您的視圖中)。

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"})) 

然後創建一個模型(如果你沒有一個在名稱表),是這樣的:

public class MyModel 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

然後改變你NameActionResult是:

public ActionResult Name(int Id, string Name) 
    { 
     MyModel model = new MyModel 
     { 
      Id = Id, 
      Name = Name 
     }; 

     return View(model); 
    } 

然後添加模式L添加到您Name觀點:

@model MyModel 

然後在Name視圖設置ViewBag.Title

ViewBag.Title = Model.Name; 
相關問題