我真正的问题是:我为web-app创建了帮助文档,我可以将它部署到其他域。在开发环境中,我使用localhost,但在生产环境中,我使用真正的子域。
我有很多这样的页面
<DxToolbar>
<DxToolbarItem Text="New" Click="@OnAddNewClick" IconCssClass="grid-toolbar-new" />
<DxToolbarItem Text="Edit" Click="@OnEditClick" IconCssClass="grid-toolbar-edit" Enabled="@Enabled" />
<DxToolbarItem Text="Delete" Click="@OnDeleteClick" IconCssClass="grid-toolbar-delete" Enabled="@Enabled" />
<DxToolbarItem Text="Filter" Click="@OnShowFilterRow" IconCssClass="grid-toolbar-filter-row" />
<DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group1/feature001/" IconCssClass="grid-toolbar-document" target="_blank" />
<DxDataGridColumnChooserToolbarItem Text="Choose columns" Tooltip="Choose columns" />
</DxToolbar>在其他页面中
<DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group1/feature003/" IconCssClass="grid-toolbar-document" target="_blank" />和
<DxToolbarItem Text="Help" NavigateUrl="http://example.com/help/group2/feature005/" IconCssClass="grid-toolbar-document" target="_blank" />我想使用像这样的东西
@base_help_url//help/group1/feature001/
@base_help_url//help/group1/feature003/
@base_help_url//help/group2/feature005/以及如何/在何处设置@base_help_url
如何实现这一理念?
发布于 2021-09-19 01:34:32
步骤1.将@base_help_url存储在AppSettings文件中,然后选择在options类中对其进行配置。
//AppSettings.Development.json
{
"HelpUriBase": "..."
}步骤2.创建一个公开方法string GetBaseUri();的接口IHelpUri,然后在派生类中实现该接口。
public class HelpUri : IHelpUri
{
private readonly string _helpUriBase;
public HelpUri(IConfiguration configuration)
{
_helpUriBase = configuration.GetSection("HelpUriBase");
}
public string GetBaseUri => _helpUriBase;
}步骤3.创建包装DxToolbarItem组件并具有[Parameter] string Path的(Blazor)组件。
// HelpLink.razor
@inject IHelpUri HelpUri
<DxToolbarItem NavigateUrl="@Uri" />
@code {
[Parameter] public string Path { get; set; }
private string _helpUriBase;
protected string Uri => $"{_helpUriBase}/{Path}"
protected override async Task OnInitializedAsync()
{
_helpUriBase ??= HelpUri.GetBaseUri();
}
}步骤4.在创建帮助链接时,使用HelpLink组件而不是DxToolbarItem组件。
<HelpLink Path="help/group1/feature001/" />
<HelpLink Path="help/group1/feature003/" />
<HelpLink Path="help/group2/feature005/" />https://stackoverflow.com/questions/69235941
复制相似问题