Подтвердить что ты не робот

Как установить динамический заголовок @Html.ActionLink из контроллера?

У меня есть

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

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

например:

@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));
        }
4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

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