我不能使用C#所以请原谅我的无知。
目前有这个:
/////布局/////
@Html.ActionLink("Help", "Help", new { controller = "Help", topic = ViewBag.Topic }, new { target = "_blank" })
////控制器帮助/////
@if (Request.QueryString.GetValues(0)[0] == "Dash")
{
//HTML code
}
@if (Request.QueryString.GetValues(0)[0] == "Manage")
{
//HTML code2
}
根据我的理解,@Html.ActionLink
正在将查询提取到"帮助"控制器,从而根据主题呈现HTML代码(内部链接)和页面。
是否有一种简单的方法可以将其转换为外部URL。因此,@ if =" dash"然后url =" www.foo.com"而不是HTML代码。
如果不可能,还有其他最佳选择吗?关键方面是每个页面主题需要创建指向不同页面的URL链接。
答案 0 :(得分:0)
如果你有很多主题,我发现当前的方法更清晰,更容易保留,也许你可以将@if ... @ if更改为if / else-if并将查询字符串的第一个参数存储到变量
@{
String topic ;
topic = Request.QueryString.GetValues(0)[0] ;
if (topic.Equals("Dash"))
{
//HTML code
}
else if (topic.Equals("Manage"))
{
//HTML code2
}
}