You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Scripts.Render生成的URL并将其存储到变量中?

获取Bundles生成的带版本号的URL

嘿,刚好对这个场景很熟悉,给你两种常用的解决方案,看你是要在服务器端还是客户端获取:

服务器端直接生成(推荐)

如果你想在后端代码里直接拿到这个URL并存到变量,完全不用依赖页面渲染后的DOM,用BundleTable提供的方法就行:

// 在Controller或者View里都可以使用
string bundleFullUrl = BundleTable.Bundles.ResolveBundleUrl("/bundles/someScript");

这个方法会直接返回和Scripts.Render生成的一模一样的带版本哈希的URL,比如/someURL/bundles/someScript?v=asdY9xOxSVHQfe4hgu-iqLwv6wr6rbpT3YvcuODIqQ1。你可以把它存到变量里,或者通过ViewBag/ViewModel传递到前端使用。

客户端DOM获取

如果是页面渲染完成后,想在JS里拿到这个URL,就通过DOM选择器定位对应的script标签,然后取它的src属性:

// 用属性选择器匹配包含目标bundle路径的script标签
const targetScript = document.querySelector('script[src*="/bundles/someScript"]');
// 拿到URL并存到变量
const bundleUrl = targetScript ? targetScript.src : '';

小提示

  • 服务器端的方法更可靠,不会因为页面DOM结构变化而失效,而且不管是Debug还是Release模式都能正确返回对应格式的URL(Debug下如果没开启Bundle优化,会返回未合并的路径,但同样是正确的)。
  • 客户端方法适合已经完成页面渲染后,需要动态获取URL的场景,但要注意确保选择器能准确匹配到目标script标签。

内容的提问来源于stack exchange,提问作者rcs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:56:48