Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ASP.NET MVC#中同时实现多个主页模板?_C#_Asp.net Mvc_Asp.net Mvc 2 - Fatal编程技术网

如何在ASP.NET MVC#中同时实现多个主页模板?

如何在ASP.NET MVC#中同时实现多个主页模板?,c#,asp.net-mvc,asp.net-mvc-2,C#,Asp.net Mvc,Asp.net Mvc 2,我有4个不同的主页模板[来自数据库的不同数据]。我想定期从一个更改到另一个,从某种后端管理访问。我已经创建了4个索引(index1.aspx、index2.aspx..)页面。不时更改默认索引页的最简单方法是什么 我设想通过创建一个配置文件并修改它来实现这一点。。有更好的方法吗?我假设您有如下控制器操作: public ActionResult Index() { return View(); // Implies Index.aspx } 您可能只想交换视图: public Ac

我有4个不同的主页模板[来自数据库的不同数据]。我想定期从一个更改到另一个,从某种后端管理访问。我已经创建了4个索引(index1.aspx、index2.aspx..)页面。不时更改默认索引页的最简单方法是什么


我设想通过创建一个配置文件并修改它来实现这一点。。有更好的方法吗?

我假设您有如下控制器操作:

public ActionResult Index() 
{
    return View();  // Implies Index.aspx
}
您可能只想交换视图:

public ActionResult Index() 
{
    HomePageType homePageType = GetHomePageTypeFromDb();
    HomePageModel model = new HomePageModel();

    switch (homePageType) 
    {
        case Type1: return View("Index1", model);
        case Type2: return View("Index2", model);
        ...
    }
}

我假设您有一个控制器操作,如:

public ActionResult Index() 
{
    return View();  // Implies Index.aspx
}
您可能只想交换视图:

public ActionResult Index() 
{
    HomePageType homePageType = GetHomePageTypeFromDb();
    HomePageModel model = new HomePageModel();

    switch (homePageType) 
    {
        case Type1: return View("Index1", model);
        case Type2: return View("Index2", model);
        ...
    }
}

创建用于存储appsettings的单独文件。为当前主页添加设置

将此设置存储在外部配置文件中

  <appSettings file="appSettings.config">
     Your other settings
  </appSettings>

现在,在控制器操作中,您只需从应用程序设置中检索当前主页


字符串currentHomePage=WebConfiguration Manager.AppSettings[“currentHomePage”]

创建一个单独的文件来存储appsettings。为当前主页添加设置

将此设置存储在外部配置文件中

  <appSettings file="appSettings.config">
     Your other settings
  </appSettings>

现在,在控制器操作中,您只需从应用程序设置中检索当前主页


字符串currentHomePage=WebConfiguration Manager.AppSettings[“currentHomePage”]

更好对你意味着什么?这也是非常商业驱动的。谁正在更改此模板?你们有权使用你们的生产机器吗?更好的方法意味着最具成本效益的方法。一个例子就是改变wordpress主题。。只需选择一个模板,然后按activate即可!成本效益如何?实际的变化?所以,如果我给你一个需要100小时才能实现的解决方案,但你可以在5秒钟内改变主题,你会同意吗?--对不起,如果我是个麻烦。这些类型的问题经常出现,如果该人员将“最佳”替换为“最具成本效益的实施”,则效果会更好。那么,无论是最佳还是经济效益的实施建议是什么?更好对您意味着什么?这也是非常商业驱动的。谁正在更改此模板?你们有权使用你们的生产机器吗?更好的方法意味着最具成本效益的方法。一个例子就是改变wordpress主题。。只需选择一个模板,然后按activate即可!成本效益如何?实际的变化?所以,如果我给你一个需要100小时才能实现的解决方案,但你可以在5秒钟内改变主题,你会同意吗?--对不起,如果我是个麻烦。这些类型的问题经常出现,如果这个人用“最具成本效益的实现方式”替换“最佳”总是会更好。那么,对于这两种方式的实现建议是什么-最佳还是经济效益…?如果我不想在db中存储主页类型呢。你有什么建议?@Emon,哦,我误解了你原来的问题。根据我的方法,
GetHomePageTypeFromDb
只是一个例子。我假设它只是返回一个枚举值。你希望它如何工作?如果没有数据库,那么在哪里?你想返回一个随机的主页吗?不-不是随机的。让我再解释一下。我只有4个模板,它不会改变。因此,将这些模板模型保存在db中将在一个表中产生4行。所以我想制作一种配置文件或xml,既可以保存这些布局,也可以作为默认布局。我还想给管理员一个访问权限,用一个不同的4个页面中的一个来更改默认页面。显然,在这种情况下,通过修改配置文件或xml文件--这就是我的想法。虽然我不知道如何在xml中设置默认页面或控制器操作并访问它们..:(如果你知道怎么做,请建议我。这听起来是解决你所描述的情况的正确方法吗?如果不是,那是正确的方法吗?如果我不想将主页类型存储在数据库中怎么办。你会建议什么?@Emon,哦,我误解了你原来的问题。我的方法
GetHomePageTypeFromDb
只是一个例子。我假设它只是返回一个枚举值。你希望它如何工作?如果没有数据库,那么在哪里?你想返回一个随机的主页吗?不-不是随机的。让我试着解释一下。我只有4个模板,它不会改变。所以在数据库中保存这些模板模型将在一个表中产生4行。所以我想某种类型的配置文件或xml将保存这些布局,并将其中一个作为默认布局。我还想授予管理员权限,以使用4个不同的页面更改默认页面。显然,在这种情况下,通过修改配置文件或xml文件。--这只是我的想法。虽然我不知道如何设置默认页面或控制在xml中滚动操作并访问它们……(如果您知道如何操作,请建议我。这听起来是解决所描述场景的正确方法吗?如果不是,正确的方法是什么?