Use a variable in View

75 Views Asked by At

On an ASP.net project, I have to pass a message list, which I would like to display in an HTML list. So I have my Message class in my model folder, and in my controller, I get my list.

    public ActionResult Messages()
    {
        List<Messages> msg = new MessagesDAO().GetAllMessages();
        ViewData["lst"] = "";
        foreach(Messages m in msg){
            ViewData["lst"] += "<option value="+m.id+">"+m.title+"</otpion>";
        }
        return View();
    }

This is what I do in the view :

    <div class="control-groupe slct-message ">
        <label>Message :</label>
        <select class="form-control">
            <%: ViewData["lst"]  %>
        </select>
    </div>

But it is not interpreted in HTML, it is treated as a string.

When I try to use Raw(Html.raw), i have an error that the function does not exist.

If you have a solution! Thx

1

There are 1 best solutions below

0
Y.op On

I've found the solution, we have to use this

<div class="control-groupe slct-message ">
    <label>Message :</label>
    <select class="form-control">
        <%: MvcHtmlString.Create((ViewData["lst"]).ToString())  %>
    </select>
</div>