所有页面的一种方法(ActionResult)

时间:2015-07-27 09:50:22

标签: c# asp.net-mvc

是否可以创建一个适用于包括布局页面在内的所有页面的方法?我得到了GET参数,每个页面都有GET参数,因此我认为 - 这个解决方案非常糟糕。

class X {
    int p;
    int q;
    public X(int p, int q) { this.p = p; this.q = q; }
}
Map<X, List<String>> x = new HashMap<>();
x.put(new X(123,5), Arrays.asList("A","B"));
x.put(new X(123,6), Arrays.asList("C","D"));
x.put(new X(124,7), Arrays.asList("E","F"));
Map<Integer, List<String>> z = x.entrySet().stream().collect(Collectors.groupingBy(
    entry -> entry.getKey().p, 
    mapping(Map.Entry::getValue, 
        reducing(new ArrayList<>(), (a, b) -> { a.addAll(b); return a; }))));
System.out.println("z="+z);

我想要这样的事情:

 [HttpGet]     
    public ActionResult Default(string par)
    { ... }

 [HttpGet]     
    public ActionResult SecondPage(string par)
    { ... }

1 个答案:

答案 0 :(得分:0)

当然你可以,你只需要使用&#34;路由&#34;正确。 例如,假设您有一个Action来管理更改与母版页关联的模板的所有页面,您可以编写此方法:

public ActionResult Serve(string pageName, string par) 
{
    // Do your logic with par
    return View(pageName);
}

在您的global.asax中,您可以映射新路线:

routes.MapRoute(
    name: "ServePage",
    url: "Pages/{pageName}.aspx",
    defaults: new { controller = "Pages", action = "Serve" });