﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-曾科's Blog-文章分类-SharePoint Portal Server</title><link>http://www.blogjava.net/zengke/category/16331.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 07:42:10 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 07:42:10 GMT</pubDate><ttl>60</ttl><item><title>sps的权限问题</title><link>http://www.blogjava.net/zengke/articles/84286.html</link><dc:creator>曾科</dc:creator><author>曾科</author><pubDate>Wed, 29 Nov 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/zengke/articles/84286.html</guid><wfw:comment>http://www.blogjava.net/zengke/comments/84286.html</wfw:comment><comments>http://www.blogjava.net/zengke/articles/84286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zengke/comments/commentRss/84286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zengke/services/trackbacks/84286.html</trackback:ping><description><![CDATA[
		<font size="2">近日遇到一个诡异的需求是这样的:<br />某个客户需要做一个搜索, 得到文档的信息<br />这个文档库可能是带权限的, 需要在显示结果的时候判断当前用户在这个文档库上是否有权限<br /><br />而这个文档库可能放在一个wss网站上<br />只允许一个部门的人进入这个网站, 但是该文档库可以给其他部门的人加权限以便查看其中的文档<br /><br />以下是用对象模型的方法判断文档库上的权限:<br />一般来说首先想到的方法肯定是这样的:<br />SPSite site = new SPSite("</font>
		<a href="http://mysite_url/">
				<font size="2">http://mysite_url</font>
		</a>
		<font size="2">");   // Line 1<br />SPWeb web = site.OpenWeb();                          // Line 2<br />SPListCollection lists = web.Lists;                       // Line 3<br />SPList list = lists["MyDocLib"];                            // Line 4<br />bool perm = list.Permissions.DoesUserHavePermission(SPRights.xxxx); <br /><br />但是, 对于上面提到的那种情况, 这种方法是有问题的<br />问题一:<br />该用户如果不是该网站成员的话, 上面的做法得不到网站<br />其表现就是webpart所在页面会反复弹出用户名密码框......即使你做了try-catch也没用, 截不下这个异常<br />问题二:<br />该用户不是该网站成员, 默认情况下不允许使用web.Lists[]这种方法, 会有异常<br /><br />对于第一个问题解决如下, 插入一行代码:<br />site.CatchAccessDeniedException = false;    // Line 1.5<br />这个属性就像其名字一样, 嗯, 不罗嗦了, 就是可以拿到那个SPWeb对象了<br /><br />对于第二个问题, 插入一行代码:<br />lists.ListsForCurrentUser = true;        // Line 3.5<br />这样再用web.Lists[]就能得到SPList对象, 然后再判权限就行了<br /><br />上面两个对象模型估计一般情况下都是用不上的...只有在某些诡异需求的情况下可能会用到<br /><br />转载：otec：Erucy</font>
<img src ="http://www.blogjava.net/zengke/aggbug/84286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zengke/" target="_blank">曾科</a> 2006-11-29 11:20 <a href="http://www.blogjava.net/zengke/articles/84286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TOOLPART</title><link>http://www.blogjava.net/zengke/articles/83930.html</link><dc:creator>曾科</dc:creator><author>曾科</author><pubDate>Mon, 27 Nov 2006 16:36:00 GMT</pubDate><guid>http://www.blogjava.net/zengke/articles/83930.html</guid><wfw:comment>http://www.blogjava.net/zengke/comments/83930.html</wfw:comment><comments>http://www.blogjava.net/zengke/articles/83930.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zengke/comments/commentRss/83930.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zengke/services/trackbacks/83930.html</trackback:ping><description><![CDATA[
		<font size="2">  我们在自定义的ToolPart中定义了一个文本框的字符串属性。</font>
		<p align="left">
				<font size="2">    首先我们知道，属性都是保存在WebPart中，所以我们需要在WebPart中建立相应属性来保存此值，如下：</font>
		</p>
		<p align="left">
				<font size="2">     <br /></font>
		</p>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
				<div>
						<font size="2">
								<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">这个属性是隐藏的，主要用于接收自定义的ToolPart中的自定义属性的值</span>
						</font>
						<font size="2">
								<span style="COLOR: #008000">
										<br />
										<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								</span>
								<span style="COLOR: #000000">        [Browsable(</span>
								<span style="COLOR: #0000ff">false</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000">), <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />            Category(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Miscellaneous</span>
								<span style="COLOR: #000000">"</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000">), <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />            DefaultValue(defaultText), <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />            WebPartStorage(Storage.Personal), <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />            FriendlyName(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Text</span>
								<span style="COLOR: #000000">"</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000">), <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />            Description(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Text Property</span>
								<span style="COLOR: #000000">"</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000">)] <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />        </span>
								<span style="COLOR: #0000ff">public</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">string</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000"> Text <br /><img id="Codehighlighter1_238_312_Open_Image" onclick="this.style.display='none'; Codehighlighter1_238_312_Open_Text.style.display='none'; Codehighlighter1_238_312_Closed_Image.style.display='inline'; Codehighlighter1_238_312_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_238_312_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_238_312_Closed_Text.style.display='none'; Codehighlighter1_238_312_Open_Image.style.display='inline'; Codehighlighter1_238_312_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />        </span>
								<span id="Codehighlighter1_238_312_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
								</span>
						</font>
						<span id="Codehighlighter1_238_312_Open_Text">
								<font size="2">
										<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #0000ff">get</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_250_272_Open_Image" onclick="this.style.display='none'; Codehighlighter1_250_272_Open_Text.style.display='none'; Codehighlighter1_250_272_Closed_Image.style.display='inline'; Codehighlighter1_250_272_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" />
												<img id="Codehighlighter1_250_272_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_250_272_Closed_Text.style.display='none'; Codehighlighter1_250_272_Open_Image.style.display='inline'; Codehighlighter1_250_272_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" />            </span>
										<span id="Codehighlighter1_250_272_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
												<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
										</span>
								</font>
								<span id="Codehighlighter1_250_272_Open_Text">
										<font size="2">
												<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />                </span>
												<span style="COLOR: #0000ff">return</span>
										</font>
										<span style="COLOR: #000000">
												<font size="2"> text; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" />            }</font>
										</span>
								</span>
								<font size="2">
										<span style="COLOR: #000000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #0000ff">set</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_285_308_Open_Image" onclick="this.style.display='none'; Codehighlighter1_285_308_Open_Text.style.display='none'; Codehighlighter1_285_308_Closed_Image.style.display='inline'; Codehighlighter1_285_308_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top" />
												<img id="Codehighlighter1_285_308_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_285_308_Closed_Text.style.display='none'; Codehighlighter1_285_308_Open_Image.style.display='inline'; Codehighlighter1_285_308_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top" />            </span>
										<span id="Codehighlighter1_285_308_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
												<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
										</span>
								</font>
								<span id="Codehighlighter1_285_308_Open_Text">
										<font size="2">
												<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />                text </span>
												<span style="COLOR: #000000">=</span>
										</font>
										<span style="COLOR: #000000">
												<font size="2"> value; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top" />            }</font>
										</span>
								</span>
								<span style="COLOR: #000000">
										<font size="2">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />        }</font>
								</span>
						</span>
						<font size="2">
						</font>
				</div>
		</div>
		<p align="left">
				<br />
				<font size="2">     <br />    要注意的一点就是这个属性是隐藏的，因为我们不需要自带的WebPart显示出来，所以将Browsable设置成false。 </font>
		</p>
		<p align="left">
				<font size="2">    然后我们就需要在ToolPart中画出我们需要的文本框了。画出这个ToolPart的方法大家都很熟悉了，就是RenderToolPart代码如下：</font>
		</p>
		<p align="left">
				<font size="2">
						<br />
				</font>
		</p>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
				<div>
						<font size="2">
								<img id="Codehighlighter1_0_161_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_161_Open_Text.style.display='none'; Codehighlighter1_0_161_Closed_Image.style.display='inline'; Codehighlighter1_0_161_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" />
								<img id="Codehighlighter1_0_161_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_161_Closed_Text.style.display='none'; Codehighlighter1_0_161_Open_Image.style.display='inline'; Codehighlighter1_0_161_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />
								<span id="Codehighlighter1_0_161_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span>
						</font>
						<span id="Codehighlighter1_0_161_Open_Text">
								<font size="2">
										<span style="COLOR: #808080">///</span>
										<span style="COLOR: #008000"> </span>
										<span style="COLOR: #808080">&lt;summary&gt;</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />        </span>
										<span style="COLOR: #808080">///</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000"> Render this tool part to the output parameter specified. <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />        </span>
										<span style="COLOR: #808080">///</span>
										<span style="COLOR: #008000"> </span>
										<span style="COLOR: #808080">&lt;/summary&gt;</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />        </span>
										<span style="COLOR: #808080">///</span>
										<span style="COLOR: #008000"> </span>
										<span style="COLOR: #808080">&lt;param name="output"&gt;</span>
										<span style="COLOR: #008000">The HTML writer to write out to </span>
										<span style="COLOR: #808080">&lt;/param&gt;</span>
										<span style="COLOR: #808080">
										</span>
								</font>
						</span>
						<font size="2">
								<br />
								<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">protected</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">override</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">void</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000"> RenderToolPart(HtmlTextWriter output) <br /><img id="Codehighlighter1_228_451_Open_Image" onclick="this.style.display='none'; Codehighlighter1_228_451_Open_Text.style.display='none'; Codehighlighter1_228_451_Closed_Image.style.display='inline'; Codehighlighter1_228_451_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_228_451_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_228_451_Closed_Text.style.display='none'; Codehighlighter1_228_451_Open_Image.style.display='inline'; Codehighlighter1_228_451_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />        </span>
								<span id="Codehighlighter1_228_451_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
								</span>
						</font>
						<span id="Codehighlighter1_228_451_Open_Text">
								<font size="2">
										<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            ToolPane tp </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">this</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">.ParentToolPane; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            CustomProps myWP </span>
										<span style="COLOR: #000000">=</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000"> (CustomProps)tp.SelectedWebPart; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />             <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            output.Write(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">请输入信息：&lt;input name=\</span>
										<span style="COLOR: #000000">""</span>
										<span style="COLOR: #000000"> </span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />
										</span>
										<span style="COLOR: #000000">                </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> inputname </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">\</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> type</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">\</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">text\</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> value</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">\</span>
										<span style="COLOR: #000000">""</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">+</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000"> myWP.Text <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />                </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">\</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">&gt;&lt;</span>
										<span style="COLOR: #000000">BR</span>
										<span style="COLOR: #000000">&gt;</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />
										</span>
										<span style="COLOR: #000000">        }</span>
								</font>
						</span>
						<font size="2">
						</font>
				</div>
		</div>
		<p align="left">
				<br />
				<br />
				<font size="2">    在这段代码中，ToolPane tp = this.ParentToolPane是得到ToolPart所在的ToolPane，然后通过ToolPane.SelectedWebPart得到当前的WebPart，然后通过WebPart.Text得到我们的那个隐藏值，这个隐藏值就是文本框的初始值。这个inputname的变量是做为文本框的name。是在这个ToolPart类中声明的，如下： </font>
		</p>
		<p align="left">
				<font size="2">    string inputname = null;</font>
		</p>
		<p align="left">
				<font size="2">    然后通过构造函数捕捉初始化事件：</font>
		</p>
		<p align="left">
				<font size="2">
						<br />
				</font>
		</p>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
				<div>
						<font size="2">
								<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								<span style="COLOR: #0000ff">public</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000"> CustPropsToolPart() <br /><img id="Codehighlighter1_29_125_Open_Image" onclick="this.style.display='none'; Codehighlighter1_29_125_Open_Text.style.display='none'; Codehighlighter1_29_125_Closed_Image.style.display='inline'; Codehighlighter1_29_125_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_29_125_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_29_125_Closed_Text.style.display='none'; Codehighlighter1_29_125_Open_Image.style.display='inline'; Codehighlighter1_29_125_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />        </span>
								<span id="Codehighlighter1_29_125_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
								</span>
						</font>
						<span id="Codehighlighter1_29_125_Open_Text">
								<font size="2">
										<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #0000ff">this</span>
										<span style="COLOR: #000000">.Title </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">自定义属性的ToolPart</span>
										<span style="COLOR: #000000">"</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #0000ff">this</span>
										<span style="COLOR: #000000">.Init </span>
										<span style="COLOR: #000000">+=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">new</span>
								</font>
								<span style="COLOR: #000000">
										<font size="2"> EventHandler(CustPropsToolPart_Init); <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />        }</font>
								</span>
						</span>
						<font size="2">
								<span style="COLOR: #000000">
										<br />
										<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								</span>
								<span style="COLOR: #0000ff">private</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">void</span>
								<span style="COLOR: #000000"> CustPropsToolPart_Init(</span>
								<span style="COLOR: #0000ff">object</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000"> sender, EventArgs e) <br /><img id="Codehighlighter1_193_262_Open_Image" onclick="this.style.display='none'; Codehighlighter1_193_262_Open_Text.style.display='none'; Codehighlighter1_193_262_Closed_Image.style.display='inline'; Codehighlighter1_193_262_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_193_262_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_193_262_Closed_Text.style.display='none'; Codehighlighter1_193_262_Open_Image.style.display='inline'; Codehighlighter1_193_262_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />        </span>
								<span id="Codehighlighter1_193_262_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
								</span>
						</font>
						<span id="Codehighlighter1_193_262_Open_Text">
								<font size="2">
										<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">设置定义义属性的文本框的name</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />
										</span>
										<span style="COLOR: #000000">            </span>
										<span style="COLOR: #0000ff">this</span>
										<span style="COLOR: #000000">.inputname </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">this</span>
										<span style="COLOR: #000000">.UniqueID </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">msg</span>
										<span style="COLOR: #000000">"</span>
								</font>
								<span style="COLOR: #000000">
										<font size="2">; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />        }</font>
								</span>
						</span>
						<font size="2">
						</font>
				</div>
		</div>
		<p align="left">
				<br />
				<br />
				<font size="2">    在初始化函数中设置inputname的值，这个值只要是一个唯一的就可以了，所以借助了UniqueID。 </font>
		</p>
		<p align="left">
				<font size="2">    这是呈现，那么如何在用户填写了以后保存起来这个值呢？也即保存到我们WebPart中那个隐藏的Text属性中。这就要通过ToolPart类中的ApplyChanges()方法，这是点击了确定确认了修改的时候执行的方法。代码如下：</font>
		</p>
		<p align="left">
				<font size="2">     <br /></font>
		</p>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
				<div>
						<font size="2">
								<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top" />
								<span style="COLOR: #0000ff">public</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">override</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">void</span>
						</font>
						<font size="2">
								<span style="COLOR: #000000"> ApplyChanges() <br /><img id="Codehighlighter1_38_265_Open_Image" onclick="this.style.display='none'; Codehighlighter1_38_265_Open_Text.style.display='none'; Codehighlighter1_38_265_Closed_Image.style.display='inline'; Codehighlighter1_38_265_Closed_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><img id="Codehighlighter1_38_265_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_38_265_Closed_Text.style.display='none'; Codehighlighter1_38_265_Open_Image.style.display='inline'; Codehighlighter1_38_265_Open_Text.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />        </span>
								<span id="Codehighlighter1_38_265_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15" />
								</span>
						</font>
						<span id="Codehighlighter1_38_265_Open_Text">
								<font size="2">
										<span style="COLOR: #000000">{ <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000"> Apply property values here. <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">得到WebPart对象</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />
										</span>
										<span style="COLOR: #000000">            ToolPane tp </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #0000ff">this</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000">.ParentToolPane; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            CustomProps myWP </span>
										<span style="COLOR: #000000">=</span>
								</font>
								<font size="2">
										<span style="COLOR: #000000"> (CustomProps)tp.SelectedWebPart; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" /><br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />            </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">将我们自定义的值传回到WebPart的Text属性中。</span>
								</font>
								<font size="2">
										<span style="COLOR: #008000">
												<br />
												<img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top" />
										</span>
										<span style="COLOR: #000000">            myWP.Text </span>
										<span style="COLOR: #000000">=</span>
								</font>
								<span style="COLOR: #000000">
										<font size="2"> Page.Request.Form[inputname]; <br /><img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top" />        }</font>
								</span>
						</span>
						<font size="2">
						</font>
				</div>
		</div>
		<p align="left">
				<br />
				<br />
				<font size="2">    通过这段代码我们可以看到，采用Page.Request.Form[inputname]得到输入在文本框中的值，然后赋值给隐藏域。 </font>
		</p>
		<p align="left">
				<font size="2">    这种自定义属性有什么好处呢？在于你可以控制ToolPart的输出，比如你可以做一些特殊的控件让用户方便的输入属性等。或者你可以更改文本框的背景色或者前景色，也即你自己控制的力度加大了。</font>
		</p>
		<p align="left">
				<font size="2">摘自海洋工作室（ </font>
				<a href="http://sps.oceanstudio.net/" target="_blank">
						<font size="2">http://sps.oceanstudio.net</font>
				</a>
				<font size="2">） <br /></font>
		</p>
<img src ="http://www.blogjava.net/zengke/aggbug/83930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zengke/" target="_blank">曾科</a> 2006-11-28 00:36 <a href="http://www.blogjava.net/zengke/articles/83930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SPS中禁止session？</title><link>http://www.blogjava.net/zengke/articles/79507.html</link><dc:creator>曾科</dc:creator><author>曾科</author><pubDate>Tue, 07 Nov 2006 00:36:00 GMT</pubDate><guid>http://www.blogjava.net/zengke/articles/79507.html</guid><wfw:comment>http://www.blogjava.net/zengke/comments/79507.html</wfw:comment><comments>http://www.blogjava.net/zengke/articles/79507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zengke/comments/commentRss/79507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zengke/services/trackbacks/79507.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">我利用sps中的网页查看器功能，加载了一个用vs.net开放的web程序。<br />但在使用过程中发现，用到session的地方都会出现问题，这是为什么？</font>
		</p>
		<p>
				<br />
				<font size="2">只有在配置文件或 Page 指令中将启用会话状态设置为真时，才可以使用会话状态 </font>
		</p>
		<p>
				<font size="2">难道说在sps中不能使用session？<br />=================================================================</font>
		</p>
		<p>
				<font size="2">以上问题是一位网友遇到的问题，也是我这几天刚遇到的，经过地毯式的排查，发现问题出在SPS这里</font>
		</p>
		<p>
				<font size="2">1、<br />C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS目录里的 web.config文件里缺少一句话：&lt;add name=”Session” type=”System.Web.SessionState.SessionStateModule”/&gt;</font>
		</p>
		<p>
				<font size="2">加在&lt;httpModules&gt;里，加完之后的&lt;httpModules&gt;应该是这样的:<br />    &lt;httpModules&gt;<br />      &lt;clear /&gt;<br />      &lt;add name=”OutputCache” type=”System.Web.Caching.OutputCacheModule” /&gt;<br />      &lt;add name=”WindowsAuthentication” type=”System.Web.Security.WindowsAuthenticationModule” /&gt;<br />       &lt;add name=”Session” type=”System.Web.SessionState.SessionStateModule”/&gt;<br />    &lt;/httpModules&gt;</font>
		</p>
		<p>
				<font size="2">2、在SPS门户所在IIS发布目录里，找到web.config ，修改Pages里的enableSessionState 为true ，修改后应该是这样的：<br />&lt;pages enableSessionState=”true” enableViewState=”true” enableViewStateMac=”true” validateRequest=”false” /&gt;</font>
		</p>
<img src ="http://www.blogjava.net/zengke/aggbug/79507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zengke/" target="_blank">曾科</a> 2006-11-07 08:36 <a href="http://www.blogjava.net/zengke/articles/79507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何获取WSS列表视图的中文字段</title><link>http://www.blogjava.net/zengke/articles/77995.html</link><dc:creator>曾科</dc:creator><author>曾科</author><pubDate>Mon, 30 Oct 2006 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/zengke/articles/77995.html</guid><wfw:comment>http://www.blogjava.net/zengke/comments/77995.html</wfw:comment><comments>http://www.blogjava.net/zengke/articles/77995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zengke/comments/commentRss/77995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zengke/services/trackbacks/77995.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#000000" size="2">ViewFields是SPViewFieldCollection, 只能拿到interal name，要获取中文的字段名，可以事先做一个internalName到title的转换: </font>
		</p>
		<p>
				<font color="#000000" size="2">using System.collection;</font>
		</p>
		<p>
				<font color="#000000" size="2">SPSite site = new SPSite("url");</font>
		</p>
		<p>
				<font color="#000000" size="2">SPWeb web = site.OpenWeb();</font>
		</p>
		<p>
				<font color="#000000" size="2">SPList list = web.Lists[listname];</font>
		</p>
		<p>
				<font color="#000000" size="2">SPView listview = onelist.Views[view];</font>
		</p>
		<p>
				<font color="#000000" size="2">Hashtable internalToTitle = new Hashtable(); </font>
		</p>
		<p>
				<font color="#000000" size="2">foreach(SPField field in list.Fields) <br />{ <br />internalToTitle.Add(field.InternalName, field.Title); <br />} </font>
		</p>
		<p>
				<font color="#000000" size="2">输出的时候转换一下:<br />for（int j=0;j&lt;listview.ViewFields）<br />{<br />output.write(internalToTitle[view.ViewFields[j]].ToString());<br />}</font>
				<a href="/zengke">
				</a>
		</p>
<img src ="http://www.blogjava.net/zengke/aggbug/77995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zengke/" target="_blank">曾科</a> 2006-10-30 10:32 <a href="http://www.blogjava.net/zengke/articles/77995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>