Я хотел бы передать переменные в HTML-экран и поместить на экран. В настоящее время использую Net Core.
Этот вопрос только для обычного .Net и, похоже, не работает. Передача строки HTML из контроллера в ASP.Net MVC
Тестовый контроллер:
_cardtitle = "Green Tree Title"; _cardtext = "Oak tree with leaves"; _imageurl = "https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60" public IActionResult Test(string _cardtitle, string _cardtext) { ViewBag.CardTitle = _cardtitle; ViewBag.CardText = _cardtext; ViewBag.ImageURL= _imageurl; ViewBag.Cardstring = @"<div class=""card"" style=""width: 18rem;"" > <img class=""card -img-top"" src =""https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60"" alt =""Card image cap"" > <div class=""card -body"" > <h5 class=""card -title"" > @ViewBag.CardTitle</h5> <p class=""card -text"">@ViewBag.CardText</p> </div> </div>"; return View(); }
Test.cshtml
@Html.Raw(ViewBag.Cardstring)
Прямо сейчас я вижу только @ Ampersand Variables,
Вы неправильно отображаете свой ViewBag.
Изменить Html.Raw(ViewBag.Cardtest) на Html.Raw(ViewBag.Cardstring)
Html.Raw(ViewBag.Cardtest)
Html.Raw(ViewBag.Cardstring)
EDIT: Согласно моим комментариям это должно работать для вас. Вам нужно передать @ViewBag.CardTitle и @ViewBag.CardText как свойства, не являющиеся частью строки.
@ViewBag.CardTitle
@ViewBag.CardText
ViewBag.Cardstring = "<div class=\"card\" style=\"width: 180rem;\"><img class=\"card -img-top\" src =\"https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60\" alt =\"Card image cap\"><div class=\"card -body\" ><h5 class=\"card -title\" >" + @ViewBag.CardTitle +"</h5><p class=\"card -text\">" + @ViewBag.CardText + "</p></div></div>";