mvc3从控制器创建链接

时间:2013-05-31 04:49:46

标签: asp.net-mvc-3 hyperlink

有没有办法从控制器创建链接并将其应用到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行,但我找不到它..

3 个答案:

答案 0 :(得分: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/");

答案 1 :(得分:0)

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

控制器代码:

ViewBag.LinkAddress = "...";

标记:

<a href="@ViewBag.LinkAddress">Link</a>

答案 2 :(得分: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>