c# - 动态分配 asp-for 变量
问题描述
我有一个带有输入框的表单,我想asp-for
动态分配:
形式
@model Character
<input type="text" asp-for="@(// If Skill.Type == "Str" then use Str)" />
特点
public int Str { get; set; }
public int Dex { get; set; }
public (string Name, string Type) Skill { get; set; } = ("Uppercut", "Str")
有什么办法可以做到吗?
解决方案
asp-for
标签助手属性是一个,这ModelExpression
意味着标签助手将查看语法表达式以评估输入元素绑定到的属性。这也意味着您将无法动态填充该属性。
您应该做的是在您的视图中动态切换输入元素:
@if (Model.Skill.Type == "Str")
{
<input asp-for="Str" />
}
else if (Model.Skill.Type == "Dex")
{
<input asp-for="Dex" />
}
推荐阅读
- flutter - Gradle 任务 assembleDebug 失败,退出代码为 1,如何解决这个问题?
- django - Changing URL pattern in Django so it doesn't show app name
- python - 抓取时忽略 ConnectionError
- python - Unable to get nested XML attribute using Python
- reactjs - React 链接地址和 id
- php - select where id in csv string - how to do something if row is missing
- python - Creating a list using for and list comprehension
- c# - 更改隐藏 Word 文档的内容
- python - Tesseract 无法加载任何语言!无法初始化 tesseract
- excel - 当列的填充行少于 2 时,复制/粘贴到最后一行 VBA 代码不起作用