MVC 中的数据模板:- 如何从 C# 代码在 javascript 中定义常量
他们是否存在类似数据模板之类的功能。我的项目有一个 js 文件,该文件使用我在母版页中链接它们来链接到所有页面。
我想定义一些常量,这些常量在名为 Globals 的 ac# 类中定义。我如何在我的项目中使用的 js 文件中配置或访问它们。
我需要一个东西,当代码加载到客户端系统上时,js 文件上的某个变量从 c# 类设置。
中编写的代码中定义它们
假设我在 Razor var name @glboals.appName
;但如果我在文件中定义它们,它们永远不会在视图中渲染时渲染它们。
当文件是独立的并且未嵌入视图中时,他们有什么方法可以在js文件中应用常量。
所以这个问题的任何解决方案
Are their any feature exist something like data template. i have a js file for my project who linked in all page using i linked them in master page.
I want to define their some constant who are define in a c# class called Globals. how i can configure or access them in my js file i used in my project.
i need a thing that when code is load on client system that some variable on the js file set from class c#.
suppose i define them in the code i write in Razor
var name @glboals.appName;
but if i define them in the file that they never render them as they render in the views.
so are their any way to applied constant in js file when file is standalone and not embedded in views.
so any sollution for this problem
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
像这样?
顺便说一句,如果您说 MasterPage,然后用
@
显示代码,我们只是不知道您在说什么,最好将版本作为标签提及。MasterPages 适用于 WebForms 和 MVC 1 和 2,LayoutViews 适用于 MVC 3
如果您想将其放在静态文件中......好吧,它是一个静态文件,它不会得到处理,因此您将看到的只是您编写的确切代码。
要处理此类事情,您需要动态处理此文件,因此,让我们添加一个名为
DynamicScripts
的控制器和一个名为JsVariables
的操作,并添加一个普通的return View() ;
使用该视图作为您设置变量的纯 Javascript 文件,并且您可以传递任何模型
现在,在您的
global.asax
中创建一个新规则:并在您的
在 HTML
中添加以下行即可:还有更多方法可以做到这一点,例如使用
RegisterStartUpScript
,但是上面的技巧(尽管我将其用于 CSS 而不是JavaScript)是我最常用的。Like this?
BTW, if you say MasterPage and then you show code with
@
we just don't know what are you talking about, it's a good thing to mention the version as a tag.MasterPages are for WebForms and MVC 1 and 2, LayoutViews are for MVC 3
If you want to have this in a static file ... well, it's a static file, it does not get processed, so all you will see is the exact code you wrote.
To handle such things you need to process this file dynamically, so, lets add a Controller called
DynamicScripts
and an Action calledJsVariables
and add a normalreturn View();
use that view as a plain Javascript file that you set up variables, and you can pass any Model
Now, in your
global.asax
create a new rule:and in your
html
jus add the line:There are more ways to do this, like using the
RegisterStartUpScript
, but the trick above (though I use it for CSS and not JavaScript) is what I use the most.您可以在主视图中定义这样的脚本,并在每个视图中使用配置:
这是mvc2示例,您可以在razor中执行相同的操作。
You can define script like this in views master, and use config in each view:
It's mvc2 example, you can do the same in razor.