如何在一个解决方案中引用不同的项目并通过MVC4中的链接进行访问

时间:2013-07-25 10:47:52

标签: asp.net asp.net-mvc asp.net-mvc-4 visual-studio-2012 entity-framework-5

我在一个解决方案中有两个项目,一个是company.admin,另一个是company.web,现在我想链接这两个例如,如果我写http://localhost60693.com/web那么company.web视图应该打开,当我写http://localhost60693.com/admin然后它会将我重定向到管理面板...请帮助我......我应该在控制器或动作链接中实现什么逻辑?并指导我如何在MVC4中发布多个项目?感谢

3 个答案:

答案 0 :(得分:0)

我可以建议您不要将控制器和视图放到不同的项目中。尽量将它们保留在主项目中。使用不同的项目来保持应用程序的业务逻辑,如Models,DataTransferObjects,DBProviders,helpers等。

如果您想在您的应用程序中创建“网络”和“管理员”部分,您可以为此用户区域。 右键单击解决方案中的主项目,然后单击“区域”或“CreateArea”。有关详细信息,请查看create area in MVC project

答案 1 :(得分:0)

正如@ maxs87所说,你可以为每个部分创建区域。如果您必须在单独的项目中使用它们,考虑到您在一个解决方案中有多个Web应用程序,因此在部署后您有多个站点。您可以创建帮助链接以从此站点跨越到其他站点或返回:

public static string MyRedirectLink(string siteName, string controller, string action, string text)
    {  
       StringBuilder result = new StringBuilder();
       string url = "http://" + siteName + "/";
       url = url + controller + "/" + action;
       result.AppendFormat("<a href=\"{0}\" target=\"blank\" >{1}", url, text);
       result.AppendLine("</a>");
    }

在视野中使用它:

@Html.Raw(MyLibrary.HtmlCodeHelper.MyRedirectLink("mysite", "admin", "index", "Go to Admin site" ))

答案 2 :(得分:0)

在您的开发中,如果您通过右键单击打开视图并在浏览器中查看&#34;一个项目将从以下开始:

http://localhost:<firstprojectport>/

另一个将从:

开始
http://localhost:<secondprojectport>/

您可以使用它们进行引用,直到您准备好部署,然后再使用其网站网址

我自己在一个解决方案中使用它,我的公司希望将所有不同的旧网站和管理工具集成到一个具有相同用户名/密码的管理站点,并以简单的方式为所有这些站点提供单点登录功能。仍然将所有网站和工具的代码分开