问题描述
以下视图产生错误:
<AuthorizeView>
<Authorized>
<EditForm Model="SettingsDto" OnValidSubmit="SaveSettings" Context="formContext">
<p>
<MatStringField disabled="true" Value="@context.User.Identity.Name" Label="Contact email" Icon="mail_outline" FullWidth="true"></MatStringField>
</p>
<p>
<MatTextField @bind-Value="@SettingsDto.ProductName" Label="Product Name" FullWidth="true" required="true"></MatTextField>
</p>
<MatButton Raised="true" Type="submit">Save</MatButton>
</EditForm>
</Authorized>
</AuthorizeView>
我可以通过像这样将 MatStringField
移到 EditForm
之外轻松解决这个问题:
<AuthorizeView>
<Authorized>
<p>
<MatStringField disabled="true" Value="@context.User.Identity.Name" Label="Contact email" Icon="mail_outline" FullWidth="true"></MatStringField>
</p>
<EditForm Model="SettingsDto" OnValidSubmit="SaveSettings" Context="formContext">
<p>
<MatTextField @bind-Value="@SettingsDto.ProductName" Label="Product Name" FullWidth="true" required="true"></MatTextField>
</p>
<MatButton Raised="true" Type="submit">Save</MatButton>
</EditForm>
</Authorized>
</AuthorizeView>
但是查看文档 disabled and ReadOnly
文本字段使用 MatStringField
,我找不到任何使用 EditForm
和 disabled 的示例。如何在 MatStringField
中呈现禁用的 EditForm
?
我无法使用 <MatStringField disabled="true" @bind-Value="@context.User.Identity.Name"
。这将导致以下构建错误:
CS0200 属性或索引器“IIdentity.Name”无法分配给 -- 它是只读的
https://www.matblazor.com/TextField
https://www.matblazor.com/EditContext
错误:
blazor.webassembly.js:1 暴击:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
未处理的异常呈现组件:MatBlazor.MatStringField 需要“ValueExpression”的值
范围。通常这是在使用时自动提供的
'绑定值'。 system.invalidOperationException:
MatBlazor.MatStringField 需要“ValueExpression”的值
范围。通常这是在使用时自动提供的
'绑定值'。在 MatBlazor.BaseMatInputComponent1[[System.String,System.Private.CoreLib,Version=5.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e]].SetParametersAsync(ParameterView parameters) at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView parameters) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewComponentFrame(DiffContext& diffContext,Int32 frameIndex) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewSubtree(DiffContext& diffContext,Int32 frameIndex) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext,Int32 newFrameIndex) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext,Int32 newFrameIndex) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext,Int32 oldStartIndex,Int32 oldEndindexExcl,Int32 newStartIndex,Int32 newEndindexExcl) at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer,RenderBatchBuilder batchBuilder,Int32 componentId,ArrayRange
1 oldTree,ArrayRange`1 newTree) 在
Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder
batchBuilder,RenderFragment renderFragment) 在
Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry
renderQueueEntry) 在
Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)