gpt4 book ai didi

c# - 在 blazor 中绑定(bind)动态值的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 09:34:02 25 4
gpt4 key购买 nike

我正在使用 Dictionary 来存储一些选项,键是选项的名称,正如您猜测的那样,值是对应选项的值。
在我的 Razor 文件中,我有这段代码:

@foreach (KeyValuePair<string, string> option in templates.templatesList[SelectionValue])
{
<tr>
<td>@option.Key</td>
<td><input type="text"/></td>
</tr>
}
我正在寻找的是将文本输入的值存储到我的字典中的正确值中,遗憾的是我们不能使用@bind = @option.Value。

最佳答案

我对下一个谷歌员工的解决方案:
绑定(bind)值的另一种方法是使用@onchange 选项,如下所述:https://docs.microsoft.com/en-us/aspnet/core/blazor/components/data-binding?view=aspnetcore-3.1
所以,我改变了代码如下:
在 Razor 文件中:

@foreach (KeyValuePair<string, string> option in templates.templatesList[SelectionValue])
{

<tr>
<td><label>@option.Key</label></td>
<td><input type="text" @onchange="@((ChangeEventArgs __e) => changeOption(__e,option.Key))" /></td>
</tr>

}

public void changeOption(ChangeEventArgs __e, string key)
{
templates.changeValue(SelectionValue, key, __e.Value.ToString());
}
在我的对象类(模板)中
public void changeValue(string template, string option, string value)
{
this.templatesList[template][option] = value;
}
我不知道这样做是否最干净,但它完美地完成了这项工作。

关于c# - 在 blazor 中绑定(bind)动态值的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62679260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com