首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在门户设计模式下从Kentico Repeater输出原始JSON页面

如何在门户设计模式下从Kentico Repeater输出原始JSON页面
EN

Stack Overflow用户
提问于 2018-05-11 22:58:17
回答 2查看 364关注 0票数 0

在Portal中,如何使页面只输出其Repeater web部件的数据,而不使用页面包装器asp.net表单等?

我已经将页面模板继承设置为none,未经检查的头继承,但是没有效果,仍然得到主题元素、asp.net表单、html标记头、正文和规范。我希望摆脱所有这些外围的html元素,只保留中继器输出,这是原始的JSON。

我试图实现的是使用Repeater Web部件将原始JSON输出到页面,同时将Repeater保存在CMS Design中,在那里易于被管理员管理。原始的JSON将由JQuery.get(..)获取。或者等同于像往常一样读取JSON并解析它。

我尝试将部件与同一页面上的Repeater结合起来,但是自定义响应当然会破坏任何其他页面的输出。

如果需要,我愿意使用ASPX + Portal模板组合模式,但希望继续使用设计界面中的Kentico部件来生成数据。

然而,我发现一个基于DevNet的自定义响应重传web部件更愿意自己管理设计模式,因为我可能想在其中添加一些额外的web部件。

最终,如果它不能完成,或者涉及到太多的复杂性,我将使用一个好的ASP.NET ASP.NET从Kentico中产生我需要的东西,并将Kentico模式完全排除在公式之外。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-14 13:11:41

在Kentico上有一个定制的web部件,它允许您告诉页面您想要的输出类型,它称为Web部件到API转换器。下载该web部件,导入它并将其添加到页面模板中。一定要更改页面模板,这样它就不会继承任何其他页面或模板。

然后,将Web部件与API转换器web部件关联到清单web部件,这就像魔术(或基本编码)一样,它将aspx页面转换为您指定的任何输出的“原始”格式。

票数 0
EN

Stack Overflow用户

发布于 2018-05-12 03:44:53

是否有任何理由不想使用现有的web服务/CMSPages/WebService.asmx?您可以创建自己的方法并在那里返回json:

代码语言:javascript
复制
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetMyData(string parameter = "")
{
    // Get your data
    DataTable myData = CustomTableItemProvider.GetItems("customtable.sampletable").Result.Tables[0];
    // return JSON
    string JSONString = Newtonsoft.Json.JsonConvert.SerializeObject(myData);
    this.Context.Response.ContentType = "application/json; charset=utf-8";
    this.Context.Response.Write(JSONString);
}

但是我建议用Web API来做

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50301275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档