asp.net-mvc – MVC3区域中的相对内容路径
发布时间:2020-05-24 00:20:54 所属栏目:asp.Net 来源:互联网
导读:我发现这个问题 Can’t use relative paths with areas in ASP.NET MVC 2这是我遇到的同样的问题. MVC3还是这样吗? 有没有办法将内容文件保存在相对于该区域的区域? 所以一个区域中的布局文件可以有类似的东西 无需做出完全限定的链接,需要区域目录和区域名
|
我发现这个问题 Can’t use relative paths with areas in ASP.NET MVC 2这是我遇到的同样的问题. MVC3还是这样吗? 有没有办法将内容文件保存在相对于该区域的区域? 所以一个区域中的布局文件可以有类似的东西 无需做出完全限定的链接,需要区域目录和区域名称或上述问题的解决方案,需要在每个请求上检查每个区域. 更新/编辑 我决定使用上述问题中的解决方案和下面的解决方案(html帮助器) – 这取决于项目/情况.我的上述实现使用app.setting来存储区域名称和扩展名,以便我可以将该模块作为我的库的一部分. var context = HttpContext.Current;
var path = context.Request.Path;
var list = ... //code that gets from app.config and then saves it
var extensions = ... // to the cache as non-removable with a dependency on web.config
foreach (var area in list)
{
if (!path.Contains(area + "/")) continue;
foreach (var extension in extensions)
{
if (path.EndsWith("." + extension))
{
context.RewritePath(path.Replace(area + "/","Areas/" + area + "/"));
}
}
}
解决方法您可以尝试在HtmlHelper上创建一个扩展来解决这个问题:public static string Image(this HtmlHelper html,string imagePath)
{
var area = html.ViewContext.RouteData.Values["area"];
if (!string.IsNullOrEmpty(area))
area = "Areas/" + area + "/";
return VirtualPathUtility.ToAbsolute("~/" + area + "Content/img/" + imagePath);
}
所以在你看来你可以使用: <img src="@Html.Image("myimage.png")" alt="..." />
如果我错了,我没有尝试这样正确的代码. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc – 需要为ASP.NET mvc部署哪些文件?
- ASP.NET 5 HTML5历史
- asp.net – 如何禁用提交行为的asp:ImageButton
- asp.net-mvc – ASP MVC Razor视图扩展方法,如何
- asp.net-mvc-3 – 如何使用ModelMetadata单元测试
- asp.net – 如何使用Eval在数据绑定控件中调用扩
- 如何在asp.net中编写javascript代码后面使用C#
- asp.net – 如何在Web应用程序中使用ServiceStac
- jQuery Ajax方法调用 Asp.Net WebService 的详细
- ASP.net Web窗体,在编译时获取aspx /视图错误?
热点阅读
