我正在努力将2sxc内容WebAPI Feed集成到ReactJS应用程序中。
我设法将JSON数据源添加到应用程序中,并且正在映射数据。
我想知道最好的做法是“解析”作为DNN页面/标签ID出现的URL。
下面我将展示引用的各个要点......
首先是实体/数据类型的设置......
然后这是一个填写数据的示例条目...页面链接/ URL设置为指向DNN网站上的另一个内部页面:
最后,您可以通过2sxc API看到此数据项作为JSON Feed发布:
将此数据转换为可在SPA类型应用中使用的网址的最佳方法是什么?
没有任何“服务器端”代码,只是在客户端读取JSON提要...
我最初的想法是在JS中解析这段数据,然后提取数字然后使用这样的东西:
http://www.dotnetnuke.com/tabid/85/default.aspx
http://www.dotnetnuke.com/default.aspx?tabid=85
我希望有更多经验的人能够提出更好/更清洁的方法。
提前致谢
答案 0 :(得分:1)
Default.aspx?tabid=xx
格式肯定会有效,因为它是最早的DNN约定,仍然用于后备。网址不是很好,但没关系。
您之所以看到这一点,是因为查询没有为AsDynamic(...)
执行自动查找。有一个端点可以查找它们,但它们不是官方的,因此它们可以更改,因此我不想建议您使用它们。
因此,如果你真的想要一个更好的网址,你应该看看DNN是否有一个REST API,或者你可以创建一个小的自己的2sxc-api端点(在api
文件夹中)只是为了看看up,然后使用NavigateURL。如果你分享你的作品会很酷。
答案 1 :(得分:0)
如果你是Razor的服务器端,你会做这样的事情:
@using DotNetNuke.Common
<a href="@Globals.NavigateURL(XXXX, "", "Dept=" + deptQS, "View=List")">View List</a>
XXXX = Dnn.Tab.TabID或定义一个包含您想要的标签ID的字符串
我似乎有一个模糊的记忆,我在某处看到Daniel(2sxc)有办法在客户端使用Globals.NavigateUrl()或类似的东西,但我不知道在哪里或者我是否确实看到过。< / p>