1

有没有办法从控制器创建链接并将其附加到 ViewBag ?我一直在尝试,但没有任何效果

 HyperLink hyperl = new HyperLink();
                    hyperl.NavigateUrl = "http://www.example.com/";
                    hyperl.Text = "Here is why..";
   ViewBag.check ="You must register"+ hyperl;

您必须注册 System.Web.UI.WebControls.HyperLink

我知道我可能只错过了 1 行,但我找不到它..

4

3 回答 3

2

你可以使用TagBuilder并做类似的事情

 public static TagBuilder CreateAnchor(string text, string url) 
 {
     var anchor = new TagBuilder("a");
     anchor.SetInnerText(text);
     anchor.MergeAttribute("href", url);
     return anchor;
 }

然后像这样传递给 ViewBag

 ViewBag.hyperl = CreateAnchor("Here is why..","http://www.example.com/");
于 2013-05-31T04:55:40.330 回答
0

您正在将 Web 表单与 MVC 混合使用。结果将是可憎的。只需通过视图包发送 URL,并在普通锚标记中的标记中使用它:

控制器代码:

ViewBag.LinkAddress = "...";

标记:

<a href="@ViewBag.LinkAddress">Link</a>
于 2013-05-31T05:00:59.630 回答
0

尝试这个

控制器中

HyperLink hyperl = new HyperLink();
            hyperl.NavigateUrl = "http://www.example.com/";
            hyperl.Text = "Here is why..";
            ViewBag.check = hyperl.NavigateUrl;
            ViewBag.Text = "You must register";

视图中

<a href=@ViewBag.check>@ViewBag.text</a>

或者

<a href=@ViewBag.check>You must register</a>
于 2013-05-31T05:31:31.717 回答