【发布时间】:2021-12-02 06:22:56
【问题描述】:
所以我无法让我的 Razor 页面更新 if 语句。
这个想法是当用户选择一个按钮时,它会重新计算字符串以寻找有多少 X 值,现在我们正在寻找空格。如果有一个空格,我希望输入字段被锁定(用户没有理由编辑它)。如果有多个空格,则解锁。
下面是包含标签的 if 语句
@if (NumOfSelectedValue <= 1)
{
<input class="form-control-sm" value="1" style="width: 40px" disabled />
}
else if (NumOfSelectedValue > 1)
{
<input class="form-control-sm" value="@NumOfSelectedValue" style="width: 40px" />
}
这是我认为它会如何更新的逻辑。
public void SpaceSelected() //ive used "async task"
{
int NumOfSelectedValue = SelectedCell.Count(x => x == ' ');//counting how many spaces there are with Linq
Console.WriteLine(NumOfSelectedValue);//post num of spaces in the console
//other versions ive used
//StateHasChanged();//update the if statement
//await InvokeAsync(StateHasChanged);
InvokeAsync(StateHasChanged);
}
【问题讨论】:
-
您的 razor 代码检查
NumOfSelectedValue,这可能是您拥有的字段或者是编译时错误。您在SpaceSelected中定义的local 变量NumOfSelectedValue代表的不是同一件事,实际上没有完成任何可能影响剃须刀代码的事情。 -
啊我没有显示它,但在第二块代码之上我有 public string NumOfSelectedValue { get;放; }
-
是的,这是一个 C# 错误——在你的方法中从
NumOfSelectedValue中删除int前缀。