2017-06-06 81 views
0

我不使用C#所以请原谅我的无知。URL重定向C#基于变量

目前有这样的:

/////布局/////

@Html.ActionLink("Help", "Help", new { controller = "Help", topic = ViewBag.Topic }, new { target = "_blank" }) 

//// Controller帮助/////

@if (Request.QueryString.GetValues(0)[0] == "Dash") 
{ 
    //HTML code 
} 
@if (Request.QueryString.GetValues(0)[0] == "Manage") 
{ 
    //HTML code2 
} 

从据我所知,@Html.ActionLink正在将查询拉入“帮助”控制器,从而根据主题呈现HTML代码(内部链接)和页面。

是否有简单的方法将其转换为外部URL。因此,@ if =“破折号”,然后url =“www.foo.com”而不是HTML代码。

最好的其他选择,如果这是不可能的?关键的一点是,每个页面主题需要创建一个URL链接到不同的页面。

+0

actionlink会生成指向控制器方法的HTML 标记。 – pm100

回答

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 
    } 
}