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

如何在CSHTML文件中使用JS文件中定义的bool值?

需求实现方案

可以实现这个需求,分两种场景给出具体方案:

场景1:validation值可在服务器端计算

如果validation的判断逻辑可以移到ASP.NET后端(比如基于用户权限、数据库数据等服务器端数据),直接用Razor语法在渲染时生成对应文本即可,无需依赖客户端JS:

<li>
    <a href="javascript:void(0)" title="Test" id="EditTest">
        @(Model.Validation ? "Freeze Test" : "Edit Test")
    </a>
</li>

注:这里假设后端已将Validation值传入视图模型Model中

场景2:validation值只能在客户端JS中确定

如果validation是基于客户端操作、浏览器环境等只能在前端计算的值,就需要用JavaScript动态修改DOM内容:

步骤1:在test.cshtml中渲染基础结构

<li>
    <a href="javascript:void(0)" title="Test" id="EditTest">Edit Test</a>
</li>

步骤2:在sample.js中根据validation值修改文本

确保代码在DOM加载完成后执行,避免找不到元素:

// 先根据你的特定条件定义validation变量
let validation = false;

// DOM加载完成后修改文本
document.addEventListener('DOMContentLoaded', function() {
    const targetLink = document.getElementById('EditTest');
    if (targetLink) {
        targetLink.textContent = validation ? 'Freeze Test' : 'Edit Test';
    }
});

如果validation是通过异步请求获取的,调整代码到异步回调中执行:

// 示例:异步获取validation状态
fetch('/api/validation-status')
    .then(res => res.json())
    .then(data => {
        const validation = data.isValid;
        const targetLink = document.getElementById('EditTest');
        if (targetLink) {
            targetLink.textContent = validation ? 'Freeze Test' : 'Edit Test';
        }
    });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:47:16