Workflow notes
четверг, 26 мая 2011 г.
пятница, 10 декабря 2010 г.
среда, 6 октября 2010 г.
Примеры
Большая пачка простейших примеров по использованию C# (в том числе с фичами вроде атрибутов) и LINQ(в том числе to SQL, to XML).
Здесь
Здесь
пятница, 24 сентября 2010 г.
LINQ и выбор значений из списка с заданным признаком уникальности.
Предположим, у нас есть некоторый список объектов List A типа MyObject, и мы хотим сформировать другой список, содержащий уникальные значения некоторого поля объектов MyObject из A.
Пример: MyObject - некоторая запись о пользователях, содержащая поля Id, Login и Country, и мы хотим узнать, пользователи из каких стран зарегистрированы в нашей системе.
Нет ничего проще, если ваш язык идеален.
Пример: MyObject - некоторая запись о пользователях, содержащая поля Id, Login и Country, и мы хотим узнать, пользователи из каких стран зарегистрированы в нашей системе.
Нет ничего проще, если ваш язык идеален.
using System.Linq;
// ...
var DifferentCountries = (from userEntry in A.AsQueryable() select new {userEntry.Country}).Distinct().ToList();
За уникальность отвечает именно функция Distinct(). Если она вызывается без параметров, применяется сравнение объектов по умолчанию. Если нам нужен какой-то более мощный признак уникальности, надобно написать своё сравнение. На том же примере со странами покажу как: public class MyUserCountryComparer : IEqualityComparer<User>
{
public bool Equals(User x, User y)
{
return x.Country == y.Country;
}
// Идея в том, что эта функция должна возвращать
// одинаковые значения для одинаковых (по мнению функции Equals())
// объектов и разные для разных. А как - это уже ваше дело.
// Например, так:
public int GetHashCode(User obj)
{
return obj.Country.GetHashCode();
}
}
А применяется эта фигня так:Distinct(new MyUserCountryComparer());
вторник, 21 сентября 2010 г.
ActionFilterAttribute наносит ответный удар
Несколько уточнений:
ActionFilterAttribute в действии
Простой способ избавления от всевозможного дублирования кода в контроллерах:
среда, 8 сентября 2010 г.
Реализация перезагрузки div через AJAX + MVC
По нажатию на кнопку стоит задача обновить содержимое div-а с id="divToProcessID", контекст подразумевает невозможность использования ништяков навроде Ajax.ActionLink и тому подобных.
Алгоритм:
Алгоритм:
- Вешаем на что угодно обработчик onclick-а, в котором переходим на JS-функцию onClickBlah.
- Создаем Partial View, отвечающую за перерисовку этого дива.
- Пишем Action Method, возвращающий эту вьюшку. Пусть на него мапится путь /MyCont/DivRedraw/{параметры}
- пишем onClickBlah({параметры}) через
function onClickBlah(myID) { $.post("/MyCont/DivRedraw/", { id: myID }, putNewContent, "html");}} - function putNewContent(data) { $("#neededDiv").html("data"); }
В перспективе нужно учесть, что в случае реализации, скажем, пагинации контрол, на котором висит onclick, чаще всего нужно перегружать аналогичным способом, ибо необходимо сменить параметры, с которыми вызывается onClickBlah().
Подписаться на:
Сообщения (Atom)