Как установить динамический заголовок @ Html.ActionLink из контроллера? - PullRequest
12 голосов
/ 09 июня 2011

у меня есть

@Html.ActionLink("Remove 1034, 1035, 1036", "RemoveSelected")

Теперь я хочу установить каждый идентификатор из контроллера

, например:

@Html.ActionLink(ViewBag.RemoveSelectedTitle, "RemoveSelected") //this is not work

// GET: /TabMaster/
        public ActionResult Index()
        {
            ViewBag.RemoveSelectedTitle = "100,101,102";
            return View(_tabmasterService.GetTabMasterList(10, 1));
        }

Ответы [ 3 ]

34 голосов
/ 09 июня 2011

Вам необходимо привести CastSelectedTitle в виде строки.Как вы используете Viewbag это динамический объект и не знает, что RemoveSelectedTitle является строкой.Ваш ActionLink должен быть примерно таким:

@Html.ActionLink((string)ViewBag.RemoveSelectedTitle, "RemoveSelected")
10 голосов
/ 09 июня 2011

При использовании ViewBag в сочетании с помощниками HTML, которые ожидают строки, необходимо привести к строке следующим образом:

@Html.ActionLink((string)ViewBag.RemoveSelectedTitle, "RemoveSelected")

Это связано с тем, что компилятор не знает тип ViewBag.RemoveSelectedTitle из-зачтобы ViewBag был динамическим типом.

0 голосов
/ 17 сентября 2014

Я пытался объединить несколько жестко закодированных текстов и int из ViewBag и обнаружил, что этот синтаксис работает:

@Html.ActionLink((string)("Remove Selected - # " + ViewBag.RemoveSelectedNumber.ToString()), "RemoveSelected")
...