вторник, ноября 30, 2010

Значение ID из УРЛ страницы

В коде веб-части для получения значения параметра ID (да и любого другого) из УРЛа страницы, на которой веб-часть установлена, можно использовать LINQ-выражение:

   1: ID = (from urlParameterName in this.Page.Request.QueryString.AllKeys 
   2:       where urlParameterName.ToUpper() == "ID"
   3:       select this.Page.Request.QueryString[urlParameterName]).FirstOrDefault();

Выглядит забавно, написать сразу не получается (не то, что кучка циклов из MSDN), но преимуществ такого подхода много…

понедельник, ноября 29, 2010

Оказывается - 6

Свойства узла (SPWeb.Properties) являются “неистребимыми” – их можно добавлять, их значения можно менять, но их нельзя удалить. Формально, конечно, метод .Remove() существует и даже как бы действует, но при обновлении значения узла все свойства оказываются на месте. Можно действовать средствами PowerShell, можно средствами ОМ в программе на C# – эффект одинаков. Разница в том, что в C# можно установить значение в null, в PS присваивание $null присваивает пустую строку.

Вот такой маленький сюрпризик Дразнюсь.

Technorati Tags:

среда, ноября 17, 2010

Оказывается - 5

… что и MSDN не всегда говорит правду.

Например, читаем

An expression using the &= assignment operator, such as

x &= y

is equivalent to

x = x & y 

На практике оказывается, что эквивалентность для логических операндов наблюдается только в приведённом примере:

class AndAssignment
{
static void Main()
{
bool b = true;
b &= false;
Console.WriteLine(b);
}
}
/*
Output:
False
*/

Если же операнд y является вызовом какой-либо процедуры, то оператор &= эту процедуру вызывает всегда, независимо от значения x.