...More Simple More Efficient... ☞ Guest Book enSimple.net ?
Home Study Q & A Knowledge Base Free Board News

   QTBABE's Sharepoint Server
[작성자 : wwinter8]  3/9/2010 4:26:39 PM  에 남기신 글입니다.

제목 : Apply Theme on Web

Theme를 Random으로 적용 시키는 예제이다.
css만 링크 걸어주면 될 줄 알았는데 ApplyTheme를 시키지 않고서는 도저히 가져 올수가 없다..ㅡ.ㅡ

아주 나쁜 방법(실행때마다 Theme Update) 인데.. 이것밖에 없나..ㅡ.ㅡ

SPThemes dsSPThemes = new SPThemes();
dsSPThemes.DataSetName = "SPThemes";
dsSPThemes.Locale = new CultureInfo("en-US");
dsSPThemes.Namespace = "http://tempuri.org/SPThemes.xsd";

string path = "/_layouts/1042/SPThemes.xml";
dsSPThemes.ReadXml(base.Server.MapPath(path));

DataView view = new DataView(dsSPThemes.Tables[0]);
view.Sort = "DisplayName";

int nEntireCount = dsSPThemes.Tables[0].Rows.Count;
Random nRandom = new Random();
int nValue = Convert.ToInt32(nRandom.Next()) % nEntireCount;

SPContext.Current.Web.AllowUnsafeUpdates = true;
SPContext.Current.Web.ApplyTheme(Convert.ToString(dsSPThemes.Tables[0].Rows[nValue]["TemplateID"]));

일반 사용자로 실행할 경우에는 관리자 권한으로 가장해서 실행하도록 한다.

List
□ 한줄의 평 이름: