SiteAzure新系统中如何进行信访分类显示?
目前新系统领导信箱默认无法对信件分类显示。但通过模板标签的改造依然可以实现的。下面提供解决办法
首页实现信件分类展示效果
首页中进行分类展示比较好办,只需要复制多一个标签把 letterTypeId 参数加上去,再增加一个筛选条件就可以了,如上图
最后调用标签时加上参数即可
@Power.Partial("Petition", "公开信访列表-按分类", new { dateFormats = "yyyy-MM-dd", outCount = 6, TitleLength = 70, letterTypeId = 1 })
那列表页该如何处理呢
- @*公开信件列表页模板*@
- @{
- Layout = "~/Views/Main/Layout/公共布局页.cshtml";
- ViewBag.PageTitle = "查看公开信件列表_" + CurrentSite.Instance.SiteTitle;
- var petitionLetterTypeId = Convert.ToInt32(Request["letterTypeId"]);
- var petitionLetters = new PetitionLetterService().GetPublicityPagedList(10, l => (petitionLetterTypeId == 0) ? true : l.PetitionLetterTypeId == petitionLetterTypeId, "");
- ViewBag.bodyClass = "petitionListPage";
- ViewBag.NavigationIdentifier.Add("zmhd1");
- var node = new NodeService().GetNodeByIdentifier("zmhd1");
- int count = 0;
- var even = string.Empty;
- var keyword = ViewBag.Keyword;
- if (keyword != null)
- {
- petitionLetters = petitionLetters.Where(x => x.Title.Contains(keyword)).ToList();
- }
- var nodename = node.ParentNode().NodeName;
- }
打开公开信件列表页模板,增加修改这两行代码
var petitionLetterTypeId = Convert.ToInt32(Request["letterTypeId"]);
var petitionLetters = new PetitionLetterService().GetPublicityPagedList(10, l => (petitionLetterTypeId == 0) ? true : l.PetitionLetterTypeId == petitionLetterTypeId, "");
var petitionLetters = new PetitionLetterService().GetPublicityPagedList(10, l => (petitionLetterTypeId == 0) ? true : l.PetitionLetterTypeId == petitionLetterTypeId, "");
Request["letterTypeId"] /*获取letterTypeId传值*/
Convert.ToInt32() /*强制转换为整数型。注意:如果letterTypeId为null,返回值为0*/
(petitionLetterTypeId == 0) ? true : l.PetitionLetterTypeId == petitionLetterTypeId
/*这里做一个判断,如果petitionLetterTypeId = 0,才做筛选,否则输出全部。这里是为仿止letterTypeId为null时传入值为0的筛选结果*/
最后我们就可通过地址栏传入值进行分类列表展示了。
/petition/list?letterTypeId=1
最后一步,相信大家都知道怎么做了,把节点设置为链接节点,然后设置对应的信件类型ID传值地址“/petition/list?letterTypeId=1”
最后还有一个疑问就是信访系统可以上述这样处理,咨询系统分类展示可以实现吗?
咨询系统在前台视图代码设计上和信仿系统并没有太大区别,用上述方法,把petitionLetterTypeId 替换为 letterTypeId,同样是可以实现咨询分类展示功能。
用户登录
还没有账号?
立即注册