从 javascript 链接到 .cshtml 视图

2024-03-05

如何从 javascript 文件直接指向 .cshtml 视图? 例如,为什么我不能将 .cshtml 视图与 angular.js 一起使用? 就像这个例子一样:

 .directive('encoder', ($timeout) => {
        return {
            restrict: 'E',
            transclude: true,
            scope: 'isolate',
            locals: { service: 'bind' },
            templateUrl: 'encoderTemplate.cshtml' // <-- that's not possible?
        }
    });

当然可以有一个返回您想要的任何内容的操作方法,但我很好奇是否可以直接引用剃刀视图。


正如评论中提到的,您不能直接提供 .cshtml 文件,但是,如果您选择,可以使用控制器来呈现内容:

public class TemplateController : Controller
{
    // create a ~/Views/Template/Encoder.cshtml file
    public PartialViewResult Encoder()
    {
        return PartialView();
    }
}

然后像你一样引用它@Url.Action:

{
    ....
    templateUrl: '@Url.Action("Encoder", "Template")'
}

来自评论

如果您拥有 Razor 访问权限之外的大部分 JavaScript 代码(例如外部 .js 文件),您仍然可以利用 Url 构建器,只需稍稍不同即可。例如,我可能会这样做:

public class TemplateController : Controller
{
    // Add a child method to the templates controller that outputs default
    // configuration settings (and, since it's a child action, we can re-use it)
    [ChildActionOnly]
    public PartialViewResult Index()
    {
        // You could build a dynamic IEnumerable<ConfigRef> model
        // here and pass it off, but I'm just going to stick with a static view
        return PartialView();
    }
}

〜/视图/模板/Index.cshtml

<script type="text/javascript">
  if (typeof window.App === 'undefined'){
    window.App = {};
  }
  App.Templates = {
    Encoder: '@Url.Action("Encoder", "Template")',
    Template1: '@Url.Action("Template1", "Template")',
    Template2: '@Url.Action("Template2", "Template")'
  };
</script>
@*
   the template files would then reference `App.Templates.Encoder`
   when they need access to that template.
*@
@Scripts.Render("~/js/templating")

索引.cshtml(或任何观点)

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

从 javascript 链接到 .cshtml 视图 的相关文章

  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • AngularJS orderBy 不能与 ngOptions 中的 track by 一起使用?

    我正在尝试排序ngOptions with track by 这是我的模板
  • Facebook 自定义故事与大图像 - 使用 Javascript 打开图

    我正在尝试创建一个自定义故事 每次有人尝试发布它时都会有一个新图像 现在我创建了一个对象 以及将两者结合起来的动作和故事 我想要实现的是一个看起来像这样的故事https fbcdn dragon a akamaihd net hphotos
  • angularjs无法找到模板目录,flask作为后端

    我使用 Flask 作为后端 在客户端使用 angularjs 我的目录结构 dew gt app py gt templates gt hello html gt test html gt static gt js gt directiv
  • 尝试注册 RCTBridgeModule 类 RCTFileReaderModule

    尝试为名称 FileReaderModule 注册 RCTBridgeModule 类 RCTFileReaderModule 但该名称已由类 FileReaderModule 注册 尝试使用命令react native run ios在i
  • 如何解构 React props 并仍然访问其他 props?

    我很好奇如果我想要所有的 props 但也想要解构单个属性 那么组件的参数 props 是否可以像导入一样解构 我想这更像是一个 JavaScript 问题 而不是一个 React 问题 但是举个例子 import React useEff
  • 三.js环境光意想不到的效果

    在下面的代码中 我渲染了一些立方体并使用点光源和环境光照亮它们 然而 当设置为 0xffffff 时 AmbientLight 会将侧面的颜色更改为白色 无论其指定的颜色如何 奇怪的是 点光源按预期工作 我怎样才能使环境光表现得像点光 因为
  • 如何使用多个项目将大型 ASP.NET MVC 站点分成多个部门?

    假设我有一个非常大的网站 例如 amazon com 我想在整个网站上使用 asp net mvc 但拥有一个包含数百名贡献者的大型项目是不切实际的 我想将工作分成每个部门的书籍 工具 玩具 杂货等项目 然后 当他们构建并交付新版本时 我只
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • 为什么 Angular 2 项目如此大 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们正在用 ng2 重写 ng1 项目 我们的 ng1 项目构建后大约有 8mb 我们对 ng2 的重写已经完成了大约四分之一 并且我
  • 如何更改元素的 CSS 类并在单击时删除所有其他类

    我如何处理 AngularJS 2 中的一种情况 即单击一个元素需要更改其自己的样式 并且如果其他元素具有该样式 则需要将其删除 最好在一个函数中 如同Angular js 如何在单击时更改元素 css 类并删除所有其他元素 https s
  • iPhone 点击时使 div 变暗

    当您的 div 附加了点击处理程序时 当点击该 div 时 iPhone 会使该 div 变暗 作为点击指示器 示例 在移动 Safari 上查看http jsbin com awejo3 4 http jsbin com awejo3 4
  • 元素不适应 Firefox 上的

    使用 ES6 ish D3js 模块运行 Angular 6 应用程序会导致 Firefox 出现问题 Chromium Chrome Safari 和 IE Edge 工作正常 伪代码看起来类似于 生产代码可以在下面找到
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 在firefox上用js改变表单方法

    我需要使用 javascript jQuery 或纯 更改表单的方法属性 我的表单有 method post 我尝试用以下方法更改它 submit button click function var url input id url val
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • 错误:模块“html”不提供视图引擎(Express)

    我正在尝试设置一个简单的路由应用程序 但在渲染页面时不断遇到错误 Error Module html does not provide a view engine 奇怪的是我已经在 app js 文件中指定了视图引擎 但仍然收到错误 app
  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段

随机推荐

  • 如果 dotCover 没有报告足够高的结果,我如何才能使 TeamCity 构建失败?

    我希望 TeamCity 运行我的 mSpec 测试并报告测试所涵盖的代码 我还希望 TeamCity 报告构建失败如果某些命名空间中的代码覆盖率未达到阈值 e g MyProduct ImportantStuff必须是100 but My
  • 打印通用字符

    谁能解释为什么通用字符文字 例如 u00b1 被编码为 UTF 8 字符字符串 为什么下面会打印加号 减号 include
  • 可变长度模板参数列表?

    我记得看到过这样的事情 template
  • 具有旧式类的 Python 描述符

    我试着用谷歌搜索一些关于它的东西 为什么非数据描述符适用于旧式类 文件说他们不应该 请注意 描述符仅针对新样式对象或类 子类化的对象或类 调用object or type http docs python org 2 reference d
  • 如何使用Camera2获取前置摄像头的id?

    如何使用新的 Camera2 库获取前置摄像头的 ID 我在文档中找不到它 我找到了解决方案 我可以通过调用获取相机特征getCameraCharacteristics cameraId on CameraManager object St
  • Twitter Bootstrap 中的全宽拆分下拉按钮

    我的网站上有一个地方正在使用一堆button元素样式为btn block example http jsfiddle net TQSk6 1 来自 Twitter Bootstrap 文档 我现在想将其中一些切换为拆分按钮 example
  • STL 和发布/调试库混乱

    我正在使用一些第三方 我正在使用它的共享库版本 因为该库很大 60MB 并且被多个应用程序使用 有没有办法在应用程序启动时找出库的发布 调试版本分别用于我的应用程序的发布 调试版本 更长的描述 公开 C 接口的库 API 方法之一返回std
  • IIS 7.0 中的模拟

    我有一个在 IIS 6 0 下正常工作的网站 它使用 Windows 凭据对用户进行身份验证 然后在与访问数据库的服务通信时 它会传递凭据 在 IIS 7 0 中 相同的配置设置不会传递凭据 并且数据库会受到 NT AUTHORITY AN
  • 捕获某个按钮点击的WndProc消息

    我的表格上有一个取消按钮 我想确定里面WndProc方法表示这个Cancel单击按钮并为其编写一些代码 这是绝对必要的 因为否则我无法取消所有其他尚未执行的控件验证事件 请帮忙 NET 2 0 WinForms 您可以通过以下方式解析左键单
  • Angular 2 TypeScript 如何在数组中查找元素

    我有一个组件和一个服务 成分 export class WebUserProfileViewComponent persons Person personId number constructor params RouteParams pr
  • Dialogflow Agent 在 Google 模拟器中工作,但在控制台和 Web 链接中失败

    我正在使用 Dialogflow V2 API 通过 Google 模拟器上的 Actions 进行测试时一切正常 请查找附件图片 但是 当尝试使用 Dialogflow 中的控制台 右列 以及 Web 集成链接时 它不起作用 代理能够从用
  • 比较常量时,哪里可以使用 & 和 ==?有什么不同?

    我想知道两者之间有什么区别 file dwFileAttributes FILE ATTRIBUTE DIRECTORY and file dwFileAttributes FILE ATTRIBUTE DIRECTORY 当我使用第一个时
  • 清除python中的变量

    python中有没有办法清除变量的值 例如 如果我正在实现二叉树 class Node self left somenode1 self right somenode2 如果我想从树中删除某些节点 我需要设置self left清空 The
  • iOS - 跟踪我的安装来自哪些广告活动[重复]

    这个问题在这里已经有答案了 我在应用商店中有一个 iOS 应用程序 并且正在运行一些广告活动 Google Adwords FB 广告等 我如何知道我的安装来自哪里 我有一个等效的 Android 应用程序 Google play 允许我将
  • ruby 中的错误解密错误

    在执行时cipher final 它说bad decrypt错误 我试图找出问题所在 但是 我找不到 你能告诉我我的代码有什么问题吗 这是我的代码 require openssl require base64 require hex str
  • 如何修复“重复属性映射”异常?

    我正在使用我的 xml 文件来从我的数据库映射新表 但是当我启动项目时 我收到一个我无法理解和解决的重复属性映射错误 这是我的 hibernate cfg xml
  • 如何检查 tvOS 是否启用了深色外观

    如何检查用户是否在 Apple TV 上启用了深色外观 Using UI用户界面样式 https developer apple com reference uikit uiuserinterfacestyle 首先在 tvOS 10 中提
  • 突出显示搜索文本 - 角度 2

    信使根据用户给出的输入显示搜索结果 在显示结果时需要突出显示搜索到的单词 这些是所使用的 html 和组件 组件 html div div Id result id div div Summary result summary div di
  • 如何在 C 中声明可变大小的数组?

    好吧 我正在做矩阵乘法 我需要做一个m x n数组和一个p x q array 但是 我不知道该怎么做 这是我的程序 当我手动输入值时 它会打印正确的输出 include
  • 从 javascript 链接到 .cshtml 视图

    如何从 javascript 文件直接指向 cshtml 视图 例如 为什么我不能将 cshtml 视图与 angular js 一起使用 就像这个例子一样 directive encoder timeout gt return restr