MSDN:
嘿,大家好!
在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" + "')"; //页面有个:<asp:HyperLink ID="hlAdmlnk5" runat="server">Open word</asp:HyperLink> 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()]); } * */ } } }
不知我描述清楚没有!
期待你的答复!谢谢!
补充:我已在页面添加了引用:
<script type="text/javascript" language="javascript" src="http://jianghao:9000/_layouts/1033/init.js?rev=ck%2BHdHQ8ABQHif7kr%2Bj7iQ%3D%3D"></script><script type="text/javascript" language="javascript" src="http://jianghao:9000/_layouts/1033/core.js?rev=S5dt4K8TJGVTYU9HrW6enw%3D%3D" defer></script>
在提这个问题之前!我在不同sharepoint站点的blog站点下面 "Launch blog program to post " 调用的脚本copy到记事本里面!
我发现他们#号后面的guid都不相同!
点击sharepoint 的 "Launch blog program to post " ,注册框只会弹出一次!而以后再点击它不会弹出! 我认为#号后面的guid是否是记录是否为第一次弹出注册框 !
而在自己的代码中只要#号后面的guid不与sharepoint中#号后面的Guid相同,虽然第一次弹出了,但是以后都会弹出注册框!
我把sharepoint里面#号后面的guid复制到自己代码#号后面的guid里面的,他的效果就和sharepoint里面一样了! 但是程序是动态的