当前位置: 首页 > 面试题库 >

asp.net-mvc:js文件中的剃刀'@'符号

洪开济
2023-03-14
问题内容

我有一个.csHtml带有javascript函数的-razor文件,该文件使用@Url.ContentAjax URL内部的C#函数。
我想将该函数移到.js我的视图引用的文件中。

问题在于javascript无法“知道”该@符号,也无法解析C#代码。
有没有办法.js从视图中引用带有“ @”符号的文件?


问题答案:

您可以使用HTML5 data-*属性。假设您想在单击某些DOM元素(例如div)时执行某些操作。所以:

<div id="foo" data-url="@Url.Content("~/foobar")">Click me</div>

然后可以在单独的javascript文件中轻松使用DOM:

$('#foo').click(function() {
    var url = $(this).data('url');
    // do something with this url
});

这样,您就可以在标记和脚本之间完全分开,而无需在javascript文件中使用任何服务器端标签。



 类似资料:
  • 问题内容: 我正在考虑让最终用户能够将“部分视图”(控件)放入存储在数据库中的信息中。有没有一种方法可以执行我从数据库获取的作为Razor视图的一部分的字符串? 问题答案: 更新(我全都忘了) 我之前曾问过这个问题(这使我创建了RazorEngine)是从数据库而不是从文件中提取视图 我至少知道两个:RazorEngine,MvcMailer 我对RazorEngine有偏见,因为我一直在努力,但

  • 问题内容: 我知道如何在_Layout.cshtml文件上设置.css文件,但是如何基于每个视图应用样式表呢? 我的想法是,在_Layout.cshtml中,您可以使用标签,但在一个非布局视图中却没有。哪里的标签去? 问题答案: 对于在整个站点中重用的CSS,我在以下部分中定义它们: 如果需要一些特定于视图的样式,可以在每个视图中定义该部分: 编辑:知道@RenderSection中的第二个参数f

  • 问题内容: 我有一个使用Razor视图引擎在ASP.NET MVC中运行的大型站点。 我有一个基本样式表,其中包含整个网站的所有通用样式。但是,有时我会有页面特定的样式,该样式在页面的中-通常是一两行。 我不特别喜欢将CSS放入其中,因为它不是严格地将关注点分开,但是对于真正针对该页面的一两行而言,我宁愿不必附加另一个文件并增加带宽。 我有一个实例,但我想将特定于页面的媒体查询放入,但是由于媒体查

  • 问题内容: 使用.NET Razor视图和AngularJS时的最佳做法是什么? 语境 我们正在使用带有剃须刀的mvc4 开发一个 公共网站 (而不是Intranet应用程序),并且我们对客户端脚本不是很熟悉,因此我们从知道的内容开始:jQuery。但是现在事情变得更加复杂了,我们想切换到AngularJS。 在.NET部分,我们使用Razor模板和(加上一些自定义模板)呈现正确的html“控件”

  • 我正在使用ASP.NET core MVC为我的应用程序创建动态图表。我正在使用CanvasJS绘制图表。 我想根据屏幕上选择的参数绘制图表数据。因此,我有一个dropdownlist和一个datatable来定义从数据库检索哪些数据。 问题是在我单击按钮后没有加载我的图表。然而,当我调试应用程序时,根据控制台日志,js函数正在工作,但它不更新图表中的。 我的看法是 我的控制器就像 例如,当我从屏

  • 我修改了我的ASP。NET MVC4包,现在<code>System.Web.WebPages。Razor v3无法加载。有时其他包也不会加载。 我的同事运行解决方案没有任何麻烦,所以问题肯定是我的开发系统上的配置(与任何已签入的内容相反)。 我已经在各种SOF和其他论坛链接中尝试了这些建议,包括: < li >无法加载文件或程序集系统。Web .网页. Razor,版本=2.0.0.0, < l