我正在学习 Blazor。我没有基于组件的编程经验。
我有两个组件: aDateRangePicker和 a RadzenCheckBox。
<RadzenFieldset Text="Test Component">
<DateRangePicker @ref="calendar" />
<div>
<Radzen.Blazor.RadzenCheckBox TValue="bool" Change="@((args) => txtBoxChange(args))" />
<RadzenLabel Text="Check" />
</div>
</RadzenFieldset>
Run Code Online (Sandbox Code Playgroud)
现在,要求很简单。如果选中该复选框,则显示两个日历,如果未选中则显示一个日历。
我写了以下代码:
@code{
DateRangePicker calendar;
public void txtBoxChange(bool args)
{
if (args == true) //shows one calendar when checked
calendar.ShowOnlyOneCalendar = true;
else //shows two calendars when unchecked
calendar.ShowOnlyOneCalendar = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这工作正常。
但我收到警告:
不应在其组件之外设置组件参数“ShowOnlyOneCalendar”。
我已经阅读了一些关于此警告的博客,其中建议建立父子组件关系以进行组件之间的通信。但这些不是父子关系。
我究竟做错了什么?达到这样的要求并且没有这个警告的最佳方法是什么?
再会,
我在我的一台 PC(Windows 10)上的 Visual Studio 2019 上运行 ASP.NET CORE Blazor 应用程序,它运行良好。我在 VS Code 中的另一台 PC(Windows 7)上打开了同一个项目,并抛出了以下异常。
{System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.\r\n ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.\r\n at System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)\r\n at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)\r\n at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)\r\n at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)\r\n at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)\r\n at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)\r\n at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken …Run Code Online (Sandbox Code Playgroud) 我正在根据本文使用向导组件逻辑创建多步骤 Blazor 表单。项目是.NET 5.0 Blazor 客户端(托管)。有一个父Wizard组件,它有WizardStep子组件。
我正在尝试创建一个简单的两步表单。步骤号。1 包含输入日期控件和步骤号。2/最后一步包含一个文本区域控件。
从上图中可以看出,我的表单第 1 步中的“下一步”按钮的类型为“按钮”。单击“下一步”按钮时,当前组件将被替换,并渲染下WizardStep一个/最终组件。WizardStep此决赛WizardStep包含文本区域控件,并且“下一步”按钮被“提交”按钮取代。但是,可以看到最后一步显示了验证错误。这些验证错误是在最后一步中未单击“提交”按钮时出现的。
我已经调试了该应用程序,并且可以看出,在单击步骤 1 中的“下一步”按钮后,该表单会尝试提交,这就是出现验证错误的原因。这种情况不应该发生,因为“下一步”按钮的类型是“按钮”。
为什么会出现这个问题?该表单只能在单击“提交”类型的按钮后提交,并且该按钮出现在向导的最后一步中。
上图中还需要注意的一件事是,表单下一步/最后一步中的“提交”按钮看起来就像被单击一样。为什么?
形式
<EditForm Model="model" OnValidSubmit="SubmitValidForm">
<DataAnnotationsValidator />
<ValidationSummary />
<Wizard Id="TestForm">
<WizardStep Name="First Step">
<div class="form-group">
<label>Date:</label>
<div>
<InputDate @bind-Value="@model.Date" class="form-control" />
</div>
<ValidationMessage For="@(() => model.Date)" />
</div>
</WizardStep>
<WizardStep Name="Final Step">
<div class="form-group ">
<label>Details:</label>
<div>
<InputTextArea @bind-Value="@model.Entry" …Run Code Online (Sandbox Code Playgroud) 我正在尝试转换以下字符串:
"CN=Test,OU=ABC,OU=Company,DC=CFLA,DC=domain"
转换成这种形式(字符串数组列表):
[
{"CN" , "Test"},
{"OU" , "ABC"},
{"OU" , "Company"},
{"DC" , "CFLA"},
{"DC" , "domain"},
]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过将字符串转换成字典列表。我尝试将字符串拆分两次。首先,基于=。
以下是我使用的代码:
var result = str.Split(',')
.Select(line => line.Split('='))
.ToDictionary(b=> b[0], b=> b[1])
.ToList();
Run Code Online (Sandbox Code Playgroud)
但这给了我以下异常:'System.ArgumentException:'已经添加了具有相同键的项',正确的做法是将“ OU”和“ DC”作为键重复。
我现在想要的是将该字符串拆分/转换/处理为字符串数组列表(如上所示)。可能吗?
或以其他解决方案指导我。提前致谢。
PS,我有数百个这样的字符串,我只想要每个字符串中第一个“ OU”的值。
我正在开发 Blazor 应用程序。我有一个 API 方法,它返回一个List<Tuple<string,int>>.
Postman 中的 API 响应:
[
{
"Item1": "1",
"Item2": 1
},
{
"Item1": "24",
"Item2": 2
}
]
Run Code Online (Sandbox Code Playgroud)
剃刀页面中的 API 调用:
private object dataSource;
protected override async Task OnInitializedAsync() {
dataSource = await Http.GetJsonAsync<List<Tuple<string,int>>>("/Api/Default/GetProjectsList");
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
Deserialization of reference types without parameterless constructor is not supported.
Run Code Online (Sandbox Code Playgroud)
我理解错误。
是否有可以解析的泛型类型GetJsonAsync也可以从 API 方法返回?
或者有没有办法解析这个元组?请帮我。
blazor ×4
asp.net ×3
asp.net-core ×3
c# ×3
.net ×1
arrays ×1
httpclient ×1
json.net ×1
list ×1
split ×1
validation ×1