gpt4 book ai didi

c# - Composite C1 - 访问 Razor 函数中的全局数据类型

转载 作者:行者123 更新时间:2023-11-30 12:46:05 25 4
gpt4 key购买 nike

我一直在尝试实现在复合 c1 站点中显示全局数据类型的功能。

我了解基本的 Razor 功能是如何工作的,但它们似乎只使用本地数据。我希望创建一个访问和过滤(以类似于可视化函数可用的 DataReferenceFilter 的方式)我为员工简历创建的全局数据类型的 Razor 函数,以便我可以在整个站点的多个页面上显示此信息。

我已经能够创建实现此目的的视觉函数,但这些函数不能很好地与手动编辑的样式配合使用。

这是使用本地数据直接输入函数的函数布局:

@inherits RazorFunction

@functions {
public override string FunctionDescription
{
get { return "A people widget that diaplays a picture, name and small bio of a team member"; }
}

[FunctionParameter(Label = "Name", Help = "Input the persons name here", DefaultValue = "Firstname Lastname")]
public string Name { get; set; }

[FunctionParameter(Label = "Position", Help = "Input the persons position here", DefaultValue = "Manager")]
public string Position { get; set; }

[FunctionParameter(Label = "Qualifications", Help = "Input the persons qualifications here",DefaultValue = "University of Newcastle")]
public string Qualifications { get; set; }

[FunctionParameter(Label = "Bio", Help = "Input the persons biography snippit here", DefaultValue = "Input bio snippit here")]
public string Bio { get; set; }

[FunctionParameter(Label = "Image", Help = "Select the image to be used by this people widget")]
public DataReference<IMediaFile> ImageSource { get; set; }
}

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://www.composite.net/ns/function/1.0">
<head>
</head>
<body>
<div class="peoplebox">
<div class="peopleimg">
<img src="~/media({@ImageSource.Data.Id})" alt="..." />
</div>
<p class="peoplename">@Name</p>
<p><i>@Position</i></p>
<h5>@Qualifications</h5>
<div class="blockquote">
<p>@Bio</p>
</div>
</div>
</body>
</html>

The page似乎指向了正确的方向,但我不确定如何将其集成到 Razor 功能中。

最佳答案

您可以在 Razor 函数中使用 Data 属性。一个小例子是这样的

@{
var employees = Data.Get<INameOfYouDataType>().Where(m => ... some filter);

foreach (var employee in employees)
{
<div class="peopleimg">
<img src="~/media({@employee.Id})" alt="..." />
</div>
<p class="peoplename">@employee.Name</p>
<p><i>@employee.Position</i></p>
<h5>@employee.Qualifications</h5>
<div class="blockquote">
<p>@employee.Bio</p>
</div>
}

关于c# - Composite C1 - 访问 Razor 函数中的全局数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21538923/

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