我的Razor视图中有一个<select>
。每当选择发生更改时,我都会尝试将所选选项保存在数据库中。
我可以用<input type="text">
或任何类型的输入来完成,但我的选择不起作用。
这是代码:
<select name="expression@(i)"
@onchange="@(async e =>
{
// Test is always equals to "1", which is the old value of the select
var test = e.Value.ToString());
//Do Stuff
})">
@foreach (var expression in (ExpressionEnum[])Enum.GetValues(typeof(ExpressionEnum)))
{
<option value="@((int)actionItem.ExpressionEnum)" selected=@(expression == actionItem.ExpressionEnum)>
@expression.ToString()
</option>
}
</select>
正如所评论的,选择的所选选项实际上是第一个;1〃;。
但是,即使我试图选择另一个;5〃;,CCD_ 3变量将保持等于"0";1〃;。
如何获得正确的选定值?
actionItem.ExpressionEnum
在循环期间似乎没有改变,循环将value
设置为<select>
中每个选项的1。
我认为你应该改变这个部分:
value="@((int)actionItem.ExpressionEnum)"
至
value="@expression"