如何使用ViewData值在MVC View中动态填充锚标记?

时间:2012-10-23 21:05:16

标签: asp.net-mvc

有没有办法使用ViewBag值在视图中填充锚标记的href值?我希望能做的是这样的事情:

查看:

<a href="<%= ViewBag.MyURL %>" title="My URL">"<%= ViewBag.MyURL %>"</a>

控制器:

    public ActionResult Index()
    {
        ViewBag.MyURL = "http://www.Google.com";
        return View();
    }

我该如何正确地做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:4)

以下是使用MVC和Razor动态更新href锚标记的方法:

控制器(如果需要,也可以在视图中的代码块中设置):

ViewBag.MyURL = "http://www.Google.com";

查看:

<a href="@Html.Raw(Html.AttributeEncode(ViewBag.MyURL))" title="@Html.Raw(Html.AttributeEncode(ViewBag.MyURL))"> @Html.Raw(Html.AttributeEncode(ViewBag.MyURL))</a>

答案 1 :(得分:2)

如果控制器中有以下内容:

ViewBag.myURL = "http://www.my-url.com";

然后在视图中你有:

@Html.Raw("<a href=\"" + ViewBag.MyURL + "\" title=\"" + ViewBag.MyURL + "\">" + ViewBag.MyURL + "</a>")

Html.Action助手通常在发布到同一网站内的另一个控制器和/或操作时使用。 Html.Raw适用于构建外部网站的链接。