【问题标题】:Linking from HTML page to MVC view从 HTML 页面链接到 MVC 视图
【发布时间】:2015-01-16 05:10:12
【问题描述】:

我有一个使用 shtml 页面的旧网站。我有一个项目要向这个站点添加动态功能——一个 MVC 应用程序,用户在其中上传文件,控制器生成电子邮件。

由于遗留原因,我无法重写该网站。我也没有网站管理员访问权限;我只能处理我所在地区的文件。我必须使用的路径是//host/foo/bar/baz

根据this Stack Overflow question,我应该能够在baz目录内的原始静态页面中创建一个链接为<a href="Controller/Action">link text</a>。我试过了,在修复了应用程序的 web.config 文件的问题后,我收到了 404 错误。现在想想这确实是有道理的,因为baz 中没有名为Controller 的目录——只有binViews 等。找不到的物理路径是foo/bar/baz/Controller/Action

有很多关于向 MVC 应用程序添加静态页面的文章和 Stack Overflow 问题,但我没有发现任何关于其他方向的讨论。

如何从静态 HTML 页面链接到 MVC 操作?

(当我尝试让应用运行时,我可能会有后续问题。)

编辑添加: 我尝试将 MVC 应用程序代码移动到网站的顶层(在我的开发环境中)。这次使用链接时,我在 IoC 文件中遇到了配置错误,实体框架的版本不匹配。这种方法可能很有前途,但也可能在操作环境中遇到权限问题。

另外,我没有对网络服务器文档区域的根级别的写入权限,只有我的子目录区域。

【问题讨论】:

  • 您需要输入 MVC App 的 URL。如果在虚拟目录中的“内部”您的站点,您的 URL 将与您的站点相关。如果它被托管在其他地方,它应该是一个绝对 URL。在 MVC 站点中,您不依赖文件夹,定义了 Routes,因此可以使用格式“Host/YourMVCSite/Controller/Action”
  • 它托管在我的站点中,但我无法设置虚拟目录。很遗憾,因为我认为这是一个很好的方法。现在不好的部分:我没有对服务器根目录的写权限。所以我可能不得不在其他地方托管应用程序。

标签: html asp.net-mvc web-deployment


【解决方案1】:
<a href="/Controller/Action">link text</a> 

尝试在控制器前加“/”

【讨论】:

  • 这适用于开发,但需要协调软件包版本。如果我完全控制了网络服务器,我可能会接受你的回答是正确的。但我无法将我的应用程序部署到服务器的根级别。所以至少我会给你一个赞成票。
  • 对 The World 的后续问题:有没有办法将我的应用程序部署在网站的子目录中,我确实有写入权限?
  • 我的后续跟进:有办法:(stackoverflow.com/questions/8584288/…)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
相关资源
最近更新 更多