.NET Core MVC中accept属性字符串渲染异常问题排查与修复
问题原因
- 使用
asp-for的input是通过Razor Tag Helper渲染的,Tag Helper会自动为属性值添加双引号,确保.txt, .doc作为完整的accept属性值输出,因此功能正常。 - 手动编写的input标签中,
accept=@ViewData["Allowed"]未添加双引号,Razor解析时会因属性值包含空格而错误拆分字符串,最终渲染出的accept属性仅保留第一个空格前的.txt,后续的.doc被识别为无效的独立属性,导致仅txt格式可选。
修复方法
给手动编写的input的accept属性值加上双引号即可:
<input name="Files" id="Files" type="file" class="file-select" multiple accept="@ViewData["Allowed"]">
注:原代码中重复写了两次class="file-select",建议合并为一次。
内容的提问来源于stack exchange,提问作者EsoMoa
相关产品推荐
相关产品推荐

