DotNetNuke如何以编程方式使用null parentId添加Tab

时间:2014-11-12 07:36:05

标签: c# dotnetnuke

使用以下代码,我可以使用 TabController 类在DotNetNuke中添加新的标签。
TabController.AddTab(...)方法采用 TabInfo 对象。
我的问题是我想将新tabInfo的 ParentId 设置为 null ,但它不是可以为空的。 这是我的代码:

TabInfo newTab=new TabInfo();
newTab.PortalId=PortalId;
newTab.Title="some title";
/*...*/
newTab.ParentId=0 /*--here is my problem--*/

TabController controller = new TabController();
controller.AddTab(newTab);

如果 ParentId 不存在,则会导致外键错误...
如何将选项卡的ParentId设置为null?!

1 个答案:

答案 0 :(得分:1)

我只是将 ParentID 设置为我确定存在的页面...
之后,在下面的脚本中,我将新标签的 ParentID 设置为 null

TabInfo tab;
tab=new TabInfo()
//set properties of tab object...
//..
tab.ParentId = 38;//38 is my main page tabID
//...
//add new tab code
tabid = controller.AddTab(tab);
//update parentID code
DotNetNuke.Data.DataProvider.Instance().ExecuteSQL("update tabs set parentid=null where tabid=" + tabid);

修改
基于Javier回答评论结果如下:

tab.ParentId = DotNetNuke.Common.Utilities.Null.NullInteger;