Razor 过滤博客帖子

Razor 过滤博客帖子,razor,umbraco,umbraco7,Razor,Umbraco,Umbraco7,首先,我使用7.3.3版fanoe初学者工具包。我正试图找到最好的,而不是那么困难的方式来过滤一些“选项”,我创造了博客文章。我已经在“blog spot”文档类型上创建了新属性。一个是“Country”,第二个是“Project type”,我设法获取了这两个项目的现有值,然后将它们放在上面,甚至通过javascript获取所选值,通过我对数据的过滤进行堆栈。看看我添加到“博客概述”模板中的内容 @{ var posts = CurrentPage.Chi

首先,我使用7.3.3版fanoe初学者工具包。我正试图找到最好的,而不是那么困难的方式来过滤一些“选项”,我创造了博客文章。我已经在“blog spot”文档类型上创建了新属性。一个是“Country”,第二个是“Project type”,我设法获取了这两个项目的现有值,然后将它们放在上面,甚至通过javascript获取所选值,通过我对数据的过滤进行堆栈。看看我添加到“博客概述”模板中的内容

  @{ 
                var posts = CurrentPage.Children;
                var usedcountries = new List<string>();
                var usedProjectTypes = new List<string>();
            }
            <div class="col-sm-3">

                    @foreach (var post in posts)
                    {
                        if (!usedcountries.Contains(post.countries))
                        {
                            usedcountries.Add(post.countries);
                        };

                    }
                    @{usedcountries.Sort();}

                <select id="theCountry">
                    <option value="none">Any Country</option>
                    @foreach (var c in usedcountries)
                    {
                        <option value="@c">@c</option>
                    }
                </select>

            </div>
            <div class="col-sm-6">

                    @foreach (var post in posts)
                    {
                        if (!usedProjectTypes.Contains(post.projectType))
                        {
                            usedProjectTypes.Add(post.projectType);
                        };
                    }
                    @{usedProjectTypes.Sort();}

                <select id="theType">
                    <option value="none">Any Project Type</option>
                    @foreach (var p in usedProjectTypes)
                    {
                        <option value="@p">@p</option>
                    }
                </select>

            </div>
                <div class="col-sm-3">
                    <button onclick="sendAndReloadFunction()">Search</button>

                </div>

        </div>
@{
var posts=CurrentPage.Children;
var usedcountries=新列表();
var usedProjectTypes=新列表();
}
@foreach(var post in post)
{
如果(!usedcountries.Contains(post.countries))
{
usedcountries.Add(post.countries);
};
}
@{usedcountries.Sort();}
任何国家
@foreach(已使用国家/地区的var c)
{
@c
}
@foreach(var post in post)
{
如果(!usedProjectTypes.Contains(post.projectType))
{
usedProjectTypes.Add(post.projectType);
};
}
@{usedProjectTypes.Sort();}
任何项目类型
@foreach(usedProjectTypes中的var p)
{
@p
}
搜寻

仅供参考-我对XSLT仍然不太了解。。我知道Linq,也许一个API解决方案可能适合。。但我可能错了。,。谢谢。

Umbraco支持多种方式将数据发回服务器

第一个是通过一个,它的工作原理类似于mvc控制器


另一种方法是使用umbraco的,我在从javascript发帖时会用到它

你的问题到底是什么?上面的代码有效吗?它有错误吗?或者你只是对如何重构这个感兴趣吗?上面的代码可以工作,并且是很好的选项框。但我的问题是,在做出选择后,我将如何带来结果。