vici mvc开发第十篇——Javascript inclusion(添加Javascript)

Vici MVC提倡代码和标记分离,提供多种方法动态插入JavaScript到视图中,如字符串、文件或嵌入资源。RegisterJavascript系列方法用于注册JS,包括在<head>标签或单独<script>中插入。RegisterJavascriptInclude需指定相对于根目录的URL。RegisterStartupJavascript在</body>前执行,适用于DOM修改。全局基控制器可用于统一添加JavaScript,如在BaseController中注册jQuery。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vici mvc鼓励分离代码和标记,所以对于 javascript 也是如此。javascript 代码实际上是代码,而不是标记,所以它并不真正属于HTML 模板中。vici mvc容许你动态地将javascript 潜入要呈现的视图中。你可以在控制器(controller),控件(controls),和组建( components)中完成这些操作。

您可以 从字符串、 文件或嵌入的资源 嵌入 javascript

下面方法都是可用的:


所以这些方法要不是潜入到<head>标签内,就是潜入到单独的<script>中。请注意 RegisterJavascriptInclude()方法中参数url,它必须指向根文件夹(也就是以“~/”开始)。

当以字符串形式潜入javascirpt时,关键字是必须的。当你添加javascript不止一次使用同一个关键字时,只有第一个会起作用。这个特性当你在自定义控件中添加javascript时是非常有效的。比如一个控件会显示多次,对应的javascript只会添加一次。

RegisterStartupJavascript 方法是一种特殊情况,他会在窗体呈现视图完成之前执行,也就是在执行</body>之前添加javascript。这直接会导致执行javascript之后才呈现网页。注意,这可能会导致一些问题:有些浏览器不支持在网页还没有完全呈现前执行javascript来修改DOM,好点的替代方法就是document.read()方法,这个在主流的javascirp框架jquery中都得到很好的支持。

一、 When to call RegisterJavascriptXXX() methods

答案是:不影响。javascript总是伴随着视图的呈现执行,所以调用任何注册的javascript方法不会立即得到响应,当视图完全呈现,才会发生实际改变。

如果一些javascript被包含在所有的控制器中,你可以建立一个全局的基控制器类和一个 [BeforeAction]方法,因为所有的控制器都继承基控制器类,所以javascript会被添加到所有的控制器类中。

未完待续:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值