Asp.net mvc 3 mvc3从控制器创建链接
有没有办法从控制器创建链接并将其应用于ViewBag?我一直在努力,但没有任何效果Asp.net mvc 3 mvc3从控制器创建链接,asp.net-mvc-3,hyperlink,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; 您必须注
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
我知道我可能只少了一行,但我找不到它。您可以使用
标记生成器
执行以下操作
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/");
您正在将web表单与MVC混合。结果将是令人憎恶的。只需通过查看包发送URL,并在普通锚定标记的标记中使用它: 控制器代码:
ViewBag.LinkAddress = "...";
标记:
<a href="@ViewBag.LinkAddress">Link</a>
试试这个
在控制器中
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>You must register</a>
在视图中
<a href=@ViewBag.check>@ViewBag.text</a>
或
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>You must register</a>