эта строка кода может быть более простым способом выполнить одно и то же:
public class ProductConfiguration : EntityTypeConfiguration<Product>
{
public ProductConfiguration()
{
this.Property(m => m.Price).HasPrecision(10, 2);
}
}
Я ожидал больше ответов, но похоже, что много людей просто делает их собственное. Я нашел достойный, который сохраняется довольно часто на codeproject.com
, Это - не совсем то же как stackoverflow.com один. Было бы хорошо, если бы было достойное управление с открытым исходным кодом, которое имело множество различных выходных опций.
Это довольно легко к самокрутке. Я создал простой пользовательский элемент управления на основе пейджера переполнения стека с двумя свойствами...
, выбранная страница определяется путем чтения строки запроса. Самая сложная задача изменяла URL с новым номером страницы. Этот метод использует параметр строки запроса 'p' для определения который страница отобразиться...
string getLink(int toPage)
{
NameValueCollection query = HttpUtility.ParseQueryString(Request.Url.Query);
query["p"] = toPage.ToString();
string url = Request.Path;
for(int i = 0; i < query.Count; i++)
{
url += string.Format("{0}{1}={2}",
i == 0 ? "?" : "&",
query.Keys[i],
string.Join(",", query.GetValues(i)));
}
return url;
}
А простая формула для определения диапазона номеров страниц для показа...
int min = Math.Min(Math.Max(0, Selected - (PageLinksToShow / 2)), Math.Max(0, PageCount - PageLinksToShow + 1));
int max = Math.Min(PageCount, min + PageLinksToShow);
Каждая ссылка тогда получает сгенерированное использование чего-то как (где минуты и макс. определяют, что диапазон страницы связывается для создания)...
for (int i = min; i <= max; i++)
{
HyperLink btn = new HyperLink();
btn.Text = (i + 1).ToString();
btn.NavigateUrl = getLink(i);
btn.CssClass = "pageNumbers" + (Selected == i ? " current" : string.Empty);
this.Controls.Add(btn);
}
можно также создать 'Предыдущий' (и 'Затем') кнопки...
HyperLink previous = new HyperLink();
previous.Text = "Previous";
previous.NavigateUrl = getLink(Selected - 1);
первые и последние кнопки являются прямыми...
HyperLink previous = new HyperLink();
previous.Text = "1";
first.NavigateUrl = getLink(0);
В определении, когда показать "...", покажите элемент управления литерал, когда диапазон ссылки не рядом с первыми или последними страницами...
if (min > 0)
{
Literal spacer = new Literal();
spacer.Text = "…";
this.Controls.Add(spacer);
}
Делают то же для вышеупомянутого для "макс. < PageCount".
Весь этот код помещается в переопределенный метод CreateChildControls.
Не управление, но это - способ реализовать подкачку страниц на уровне DB: Подкачка страниц SQL Server 2005 года
Я работал со средствами управления страницей DevExpress и Telerik и предпочитаю пейджер DevExpress. Я не уверен , если бы пейджер DevExpress может работать непосредственно с querystring, но я был бы удивлен, не сделал ли он, поскольку это очень гибко. До подкачки страниц между существующими страницами после загрузки все может находиться на клиенте или, если прохождение в сервер необходимо, управлением является полностью оборудованный Ajax. Я предлагаю, чтобы Вы запустили свой поиск по www.devexpress.com и затем проверили www.Telerik.com также (который является также оборудованным Ajax).