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

如何在Razor Pages的.cshtml文件中设置输入框值为‍?

解决Razor Pages中输入框value显示HTML实体而非实际字符的问题

问题出在Razor的自动HTML编码机制——它会把你写的‍转义成‍,所以页面最终显示的是字面量‍,而非对应的零宽空格字符。

给你三种可行的解决办法:

  1. 直接使用Unicode字符
    零宽空格的Unicode编码是U+200C,你可以直接把这个肉眼不可见的字符写入value属性:

    <input asp-for="Title" value="‌" />
    
  2. 用Html.Raw()输出未编码实体
    如果不需要asp-for的模型绑定,直接用Html.Raw()绕过编码:

    <input name="Title" value="@Html.Raw("&#8205;")" />
    
  3. 后端模型赋值(推荐)
    保留asp-for的绑定逻辑,在PageModel中直接给Title属性设置零宽空格的Unicode值:

    public class YourPageModel : PageModel
    {
        [BindProperty]
        public string Title { get; set; }
    
        public void OnGet()
        {
            Title = "\u200C"; // 零宽空格的Unicode转义写法
        }
    }
    

    前端只需正常写:

    <input asp-for="Title" />
    

注意:零宽空格是不可见字符,设置后输入框视觉上是空的,你可以通过复制输入框内容到文本编辑器来验证字符是否存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:06:32