MVC3:从 HtmlHelper 对象获取视图路径的最佳方法是什么?

2024-03-09

我有一个 html 扩展方法来检索与视图位于同一文件夹中的文件的 URL。

Example

/Views/Home/Index.cshtml
/Views/Home/Index.js
/Views/Home/Index.css

这是最好的方法吗?我不喜欢它,因为我必须做下面的演员。我确信如果您使用不同的视图引擎,RazorView 将无法工作,但 IView 只有一个 Render 方法。

((RazorView)helper.ViewContext.View).ViewPath

这是完整的方法

public static string GetUrl(this System.Web.Mvc.HtmlHelper helper, string fileName) {
    string virtualPath = ((RazorView) helper.ViewContext.View).ViewPath;
    virtualPath = virtualPath.Substring(0, virtualPath.LastIndexOf("/") + 1);
    return virtualPath + fileName;
}

如果你使用Razor view engine,你可以使用这个:

((System.Web.Mvc.RazorView)htmlHelper.ViewContext.View).ViewPath

祝你好运

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC3:从 HtmlHelper 对象获取视图路径的最佳方法是什么? 的相关文章

随机推荐

  • WinRT 应用程序中的 app.config 相当于什么?

    在 Windows 桌面开发 WinForms WPF 中 app config是放置应用程序中使用的连接字符串或 uri 等内容的潜在位置 这允许最终用户在应用程序范围内更改这些设置 而无需开发人员重新构建和重新部署 WinRT应用程序中
  • Intellij / Android Studio 可以折叠注释吗?

    我在intellij中注释掉了这段代码 如您所见 此处无法折叠评论 然而 Webstorm 中相同的注释块可能会被折叠 有没有办法在intellij Android Studio中配置注释折叠 折叠任意选定的块 在编辑器中选择连续的代码片段
  • Django CSRF 框架有很多失败

    我的站点上的 CSRF Django 中间件 来自 SVN trunk 的版本 出现了很多失败 我得到的唯一错误是 CSRF 失败 原因 CSRF 令牌丢失或不正确 我如何诊断这些 CSRF 错误来自何处 我自己无法导致 CSRF 错误 但
  • 验证错误:向后分支上存在未初始化的对象/JVM 规范 4.10.2.4

    The JVM 规范 4 10 2 4 版本 7 最后一段 http docs oracle com javase specs jvms se7 html jvms 4 html jvms 4 10 2 4 says 如果未初始化对象的特殊
  • 更改 EditText setError 可绘制重力

    对于将要填充 RTL 文本的 EditText 有没有办法改变错误可绘制对象 当然还有弹出窗口 的重力 这是一个常规错误可绘制的示例 因此 由于输入的文本是 RTL 我希望弹出窗口显示在 EditText 的左侧 我尝试应用自定义绘图 但是
  • JavaFX 在列表视图中显示字符串附近的图像[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想在列表视图中的字符串附近显示一条消息我尝试查找它但我不太理解它我从网站上尝试了这个http docs oracle com javafx
  • 如何在 spring 中将图像转换为多部分文件

    我有一个图像文件并正在创建File具有该图像的对象 File file new File E Shared Data Images xyz jpg 上面的行正在创建一个file具有某种尺寸的物体 例如440272 我需要转换上面的image
  • 我使用 getifaddrs 得到错误的 IP 地址

    获取以太网指定IP地址的函数 char get ethernet ip const char ethernet char ip size t len struct ifaddrs ips int rc getifaddrs ips if r
  • 通过 mmap 文件进行 IPC:应该使用原子和/或易失性吗?

    我使用 mmap 文件在进程之间共享数据 代码是这样的 struct Shared int Data int file open file dat O RDWR Shared shared static cast
  • 在 Python 中利用蒙特卡洛预测收入

    我正在尝试在我的 Python 代码中实现蒙特卡罗模拟 这将帮助我确定实现与收入目标相关的各种阈值的几率 例如 我们每个财年达到 6 000 美元 7 000 美元或 8 000 美元的可能性有多大 我能够计算预期值 但还没有编写模拟代码
  • C中的浅拷贝和深拷贝

    我尝试用谷歌搜索这个 但结果只弹出面向对象的语言 根据我的理解 浅复制是复制结构的某些成员 所以可以说一个结构是 typedef struct node char ok int hi int yep struct node next nod
  • 如何避免在选项卡栏状态下堆叠导航历史记录

    选项卡 A 选项卡 B 选项卡 C 如下所示的状态 选项卡 a 选项卡 b 选项卡 c 我想关闭应用程序 就像在每个选项卡状态切换时没有导航历史记录一样 例如 我在选项卡 A 中 然后单击选项卡 B 然后从现在开始单击选项卡 C 如果用户按
  • 使用关联进行分页的 grails 中 Hibernate 查询的不同结果

    我有三个相互关联的班级 最初 我构建没有分页的查询 所有搜索结果都很好 但现在我需要分页并且不想打扰我的初始查询模式 有什么方法可以得到明显的结果 Class Department int id String name static has
  • 如何使用SwingWorker?

    朋友们 我正在开发一个java应用程序 这就是性能监控 在此基础上 我在一个类中获取值并在另一类中绘制图表 我想使用 Swingworker 交替执行这两堂课 ResultSet rs Connection conn null conn C
  • 如何让 Get-ADUser 在针对特定服务器时表现更好?

    我正在从域中的所有用户获取一系列属性 如果我不指定特定的域控制器 查询将在不到一秒的时间内返回有效结果 如果我指定目标控制器 即使在最近的域控制器上 结果也需要 18 秒才能返回 唯一的区别是我使用了目标服务器 Server serverN
  • 编号列表框

    我有一个已排序的列表框 需要显示每个项目的行号 在此演示中 我有一个带有 Name 字符串属性的 Person 类 列表框显示按姓名排序的人员列表 如何将行号添加到列表框的数据模板中 XAML
  • 使用 ASP.Net MVC 与 Web 表单相比的最大优势

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 使用其中一种相对于另一种有哪些优点 主要优点ASP net MVC are 启用对呈现的 HT
  • 使用 StringTemplate 中的参数调用 Java 函数?

    StringTemplate 允许程序员通过 getter 不带参数的函数 获取数据 我想知道是否可以使用字符串模板中的参数调用Java函数 有一个解决方法是滥用字典 这是一个实现 函数 的示例 用于限制列表中的项目数量 github 上的
  • 产生关键词附加值?

    仍在尝试找到在实际情况下我会在哪里使用 yield 关键字 我看到这个主题的帖子 C 中的yield关键字有什么用 https stackoverflow com questions 39476 what is the yield keyw
  • MVC3:从 HtmlHelper 对象获取视图路径的最佳方法是什么?

    我有一个 html 扩展方法来检索与视图位于同一文件夹中的文件的 URL Example Views Home Index cshtml Views Home Index js Views Home Index css 这是最好的方法吗 我