Рубрика: c#

C#: Проверить на null в монаде

pub­lic sta­t­ic TRe­sult With<tinput tre­sult=””> (this TIn­put o, Func<tinput tre­sult=””> eval­u­a­tor) where TRe­sult : class where TIn­put : class { return (o == null) ? return null : evaluator(o); } Использовать так: string post­Code = this.With(x => per­son) .With(x => x.Address) .With(x => x.PostCode);

IE теряет фокус на ссылке

В IE обнаружен загадочный баг. Если ASP.Net страница: делает (например, по нажатию на страницу) redi­rect на другую через anchor (т.е. otherPage.aspx#anchor) в IIS настроен ISAPI_Rewrite (локально повторить не удалось) браузер – IE (повторяется в т.ч. в 9-ом) То может случиться так, что anchor “отбросится” и страниця загрузится как otherPage.aspx. Выловить и перенастроить практически невозможно. Единственный…

Прочитать статью целиком

Sitecore: Database returns old value

Вы исправили какие-то данные в базе Sitecore, но на странице у вас то же самое? Значит, надо проверить следующие варианты: Вы исправили в mas­ter, но забыли опубликовать это в web. Перейдите в web и провериться. Вы изменили не во всех языках. Вернитесь в mas­ter и проверьте, выбрав другой флаг. Этот шаг очень часто забывают. Вы…

Прочитать статью целиком

C#: Number Range в Combobox

Например, нам нужно положить в telerik-оподобный con­trol список из вот таких элементов: <telerik:radcomboboxitem runat=“server” text=“2010” value=“10” > Такие штуки надо генерировать в одну строку: pri­vate con­st int CC_VALID_YEARS_RANGE = 9; .….….….….….….….….….….….….….….….….….….….….… ddlYear.DataSource = Enumerable.Range(DateTime.Today.Year, CC_VALID_YEARS_RANGE) .ToDictionary(item => item.ToString(), item => (item % 1000).ToString()); ddlYear.DataTextField = “Key”; ddlYear.DataValueField = “Val­ue”; ddlYear.DataBind(); А если надо добавить ещё…

Прочитать статью целиком

C#: List> в DataGrid

Когда-то List<> скидывали в Data­Grid вот так: dataGridView.DataSource = null; dataGridView.DataSource = list; Но увы — если загружать list таким образом, в ViST2008 мы будем получать Index­Out­OfRange­Ex­cep­tion каждый раз, когда попытаемся его выделить. 🙁 Поэтому надо привязывать Bind­ingList, который умеет обновляться автоматически. А обновлять только ширину колонок: dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);