sharepoint中在blog中,发布post可以直接打开word 发布

MSDN:http://social.microsoft.com/Forums/zh-CN/partnercndevsharepoint/thread/9d9a6bc4-2dfe-4d98-9c3f-fe33dcd6d18d

嘿,大家好!

在sharepoint blog站点里面,有个"Launch blog program to post " 按钮可以直接打开word发布Post! 如果是第一次打开会弹出下面注册!

查看源文件,他是调用init.js 里面的function newBlogPostOnClient(strProviderId, strBlogUrl, strBlogName);

protected void BtnTestBlog_Click(object sender, EventArgs e)            {                 //这句是我在sharepoint里面拷贝出来的                 //javascript:newBlogPostOnClient(%2718faf3ff-2cdd-4f17-9b7c-b11d0116f405%27,%20%27http://jianghao:9000/personal/hao_jiang/Blog%27,%20%27e861d78e-6e8d-4afb-93b4-89416bc4c071#e819785b-954f-41a9-9bbf-e0f6df91b76a')"                 /*                  * 第一个参数:固定参数                  * 第二个参数:博客地址                  * 第三个参数:博客ID+"#"+GUID                  */                 //Dwn("str1======"+Server.UrlDecode("%27"));                 //Dwn("str2======" + Server.HtmlDecode("%27"));                 //Dwn(""); 就是 Response.Write("");                 using (SPSite site = new SPSite("http://jianghao:9000/personal/hao_jiang"))                 {                     using (SPWeb rootWeb = site.RootWeb)                     {                         SPWeb web = rootWeb.Webs["Blog"];                         Dwn("ID=="+web.ID);                         Dwn("URL=="+web.Url);                         Dwn("ServerRelativeUrl==" + web.ServerRelativeUrl);                         Dwn("CurrencyLocaleID==" + web.CurrencyLocaleID);                         Dwn("ParentWebId==" + web.ParentWebId);                         string urlStr = "javascript:newBlogPostOnClient('18faf3ff-2cdd-4f17-9b7c-b11d0116f405',";                         urlStr += "'" + web.Url + "',";         urlStr += "'" + web.ID + "#2cefe993-04d1-4e4e-80b2-04c47bcbbba6" + "')";                 //页面有个:Open word                 hlAdmlnk5.NavigateUrl = urlStr;                         /*                          * 现在的问题是: word可以打开写post和发布了!就是如果自己拼接的#号后面的guid和sharepoint里面的                          * 不相同,他会每次弹出注册窗口,而sharepoint则只会弹出一次!                          * 请问 # 号后面的guid 是什么意思,如何取得?                  * 谢谢                          * /                         /*                         System.Collections.Hashtable ht = web.AllProperties;                         foreach (var item1 in ht.Keys)                         {                             //Dwn(item1 + "====>" + ht[item1]);                         }                         Microsoft.SharePoint.Utilities.SPPropertyBag bag = web.Properties;                         foreach (var item in bag.Keys)                         {                             //Dwn(item + "===>" + bag[item.ToString()]);                         }                          * */                     }                 }             }


在提这个问题之前!我在不同sharepoint站点的blog站点下面 "Launch blog program to post " 调用的脚本copy到记事本里面!

我发现他们#号后面的guid都不相同!

点击sharepoint 的 "Launch blog program to post " ,注册框只会弹出一次!而以后再点击它不会弹出! 我认为#号后面的guid是否是记录是否为第一次弹出注册框 !

而在自己的代码中只要#号后面的guid不与sharepoint中#号后面的Guid相同,虽然第一次弹出了,但是以后都会弹出注册框!

我把sharepoint里面#号后面的guid复制到自己代码#号后面的guid里面的,他的效果就和sharepoint里面一样了! 但是程序是动态的

原文地址:https://www.cnblogs.com/jhabb/p/sharepoint.html