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