我有一个在ASP.Net中开发的旧的Web应用程序,其背后的旧类型代码。我最终将在ASP.Net MVC 3中重新完成完整的Web应用程序 - 刚开始完成第一部分并集成它们。我在顶部出现的菜单遇到了一些问题。所以在代码中有一个主页按钮,如下所示:
onclick='document.location.href=\"Home.aspx\"'>
但是我在网络的新mvc部分获取网址我有菜单,我尝试点击主页图标我找不到页面:
/MyWeb.Web.App/mvc/Controller/Home.aspx
实际的家庭aspx页面位于\ MyWeb.Web.App \ mvc \ Home.aspx
位置我目前很难知道我可以在JS href中编辑什么来让它指向这个位置,这样图标就可以在现有的实现和新的MVC中工作。
感谢。
答案 0 :(得分:1)
使用网址助手。例如,如果您使用的是Razor,并且此代码位于MVC视图中:
onclick='document.location.href="@Url.Content("~/mvc/home.aspx")"'>
或者如果您使用的是WebForms视图引擎:
onclick='document.location.href="<%= Url.Content("~/mvc/home.aspx") %>"'>
更新:
如果这是在一个单独的javascript文件中,那么您可以在Razor视图中声明一个指向基本URL的全局变量:
<script type="text/javascript">
var baseUrl = '@Url.Content("~/mvc")';
</script>
然后在你的javascript文件中:
onclick='document.location.href=\"" + baseUrl + "/home.aspx\"'
当然有更好的方法可以实现这一目标,但由于您尚未提供有关您的方案的足够详细信息,因此很难建议最佳方案。例如,您可以在DOM或其他元素中使用HTML5 data-*
属性来正确生成此URL并在您的javascript文件中访问它。