我尝试按照此处的建议从 URL 获取查询字符串,但收到 NullReferenceException。我的代码和链接帖子中的代码之间的唯一区别是我的代码是静态的,我不知道这会如何导致错误。
public static class Extensions
{
//Other helper methods
[Inject]
public static NavigationManager MyNavigationManager { get; set; }
public static string GetQueryParm(string parmName)
{
//Null Reference Exception is called on the line below
var uriBuilder = new UriBuilder(MyNavigationManager.Uri);
var q = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
return q[parmName] ?? "";
}
}
Run Code Online (Sandbox Code Playgroud)
我这样调用这个方法:
else if (date == null | string.IsNullOrWhiteSpace(Extensions.GetQueryParm("d")))
{
date = DateTime.Today.ToString("yyyy-MM-dd");
}
Run Code Online (Sandbox Code Playgroud) 我有一个 [Flags] 枚举,其中包含我想要收集的一些数据点。我的目标是将每个值(每个位)显示并绑定为单独的复选框以供用户检查。但是,我不知道如何将 Flags 枚举的各个值绑定到组件,也不知道是否可能。为了更好地解释我的观点:
说这是我的枚举:
[Flags]
public enum DataPoints{
Large = 1,
Soft = 2,
Green = 4,
Round = 8
}
Run Code Online (Sandbox Code Playgroud)
然后我希望表单的 DataPoints 类型模型中有一个可以保存这些值的属性:
//possible data points like:
// 9: Round and Large
// 6: Soft and Green
public DataPoints Data;
Run Code Online (Sandbox Code Playgroud)
我在想类似以下的内容,但我认为您不能将枚举的各个值/位绑定到这样的组件:
@foreach (DataPoints datum in Enum.GetValues(typeof(DataPoints)))
{
<CheckBox @bind-Value="what? Data.datum?"></CheckBox>
}
Run Code Online (Sandbox Code Playgroud)