Posts
Lägg till en sida
Här är ett litet exempel på hur man kan lägga till sidor:
private void PublishNews(SPWeb web, string spamnewsname) { PublishingSite pSite = new PublishingSite(web.Site); SPContentType ctype = pSite.ContentTypes\["NewsPageContentType"\]; PageLayoutCollection pageLayouts = pSite.GetPageLayouts(ctype, true); PageLayout pageLayout = pageLayouts\["/\_catalogs/masterpage/MyNewsLayout.aspx"\]; PublishingWeb pWeb = PublishingWeb.GetPublishingWeb(web); PublishingPageCollection pPages = pWeb.GetPublishingPages(); PublishingPage pPage = pPages.Add(spamnewsname, pageLayout); SPListItem newpage = pPage.ListItem; newpage\["Title"\] = "Page added programmatically"; newpage\["NewsContent"\] = lorem; newpage.Update(); newpage.File.CheckIn("all looks good"); newpage.File.Publish("all looks good"); }
Posts
formatera int
Här finns en lista över formateringsmöjligheter med C# string.Format
String.Format("{0:00000}", 15); // "00015"
Posts
resharper
Bara att rekommendera. Dagens: Ctrl-Shift-Backspace: Go to last edit. http://www.jetbrains.com/resharper/webhelp/Reference__Keyboard_Shortcuts.html http://blog.drorhelper.com/2009/05/15-resharper-keyboard-shortcuts-you.html
Posts
commaseparatedaccounts
om du lägger till commaseparatedaccounts i PeopleEditor, använd ett komma, inte semikolon, som man kan tro…
Posts
jQuery validation with asp.net
De kan var lite jobbigt att få till jQuery validate att funka ihop med aspnetForm…
$(document).ready(function () { newsLetterForm = $("#aspnetForm"); newsLetterForm.validate({ onsubmit: false, rules: { "<%= emailTextBox.UniqueID %>": { required: true, email: true } } }); $("#<%= sendButton.ClientID %>").live("click", function { var isValid = newsLetterForm.valid(); if (!isValid) { e.preventDefault(); } }); }); jQuery validate kräver name på elementen inuti formen. För att ta reda på name, måste man använda Control.
Posts
webpart för att uppdatera title och description av web
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WelcomeTextUserControl.ascx.cs" Inherits="MyProject.WelcomeTextUserControl" %> <style type="text/css"> #welcome-text-wp-input-title { font-size: 2em; } .welcome-text-wp-edit-mode, #welcome-text-wp-updateImage { display: none; } </style> <img src="/\_layouts/Images/homepageSamplePhoto.
Posts
pause in Powershell
Om man högerklickar och väljer “Run With Powershell”, är det bra om fönstret inte försvinner… Det hade varit bra med en funktion som pause… Här kommer väl till pass en egen pause.:
function Pause ($Message="Press any key to continue...") { Write-Host -NoNewLine $Message $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") Write-Host "" }
Posts
powershell.exe -Command
man kan skapa en .bat-fil med olika powershell-anrop:
powershell.exe -Command "& {.\\Script1.ps1}"
Posts
Vilka rättigheter står bakom olika roller
Här är en lista. För att få fram den listan kan man köra kod: StringBuilder sb = new StringBuilder(); using (SPSite site = new SPSite("http://wss")) { using (SPWeb web = site.OpenWeb()) { SPRoleDefinitionCollection roleDefinitions = web.RoleDefinitions; foreach (SPRoleDefinition roleDefinition in roleDefinitions) { sb.Append(System.Environment.NewLine + System.Environment.NewLine + "Role Definition: " + roleDefinition.Name + System.Environment.NewLine + "==================================================" + System.Environment.NewLine); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(roleDefinition.Xml); XmlNode nodes = xmldoc.DocumentElement; sb.Append(nodes.Attributes\["BasePermissions"\].Value); } textBox1.Text = sb.