Obecnie wdrażam rozwiązanie stronicowania po stronie klienta przy użyciu programów ASP.NET, jQuery i JSON.ASP.NET, C# i typy anonimowe - Iterowanie za pomocą DataTable przy ręcznym budowaniu anonimowego typu
śledzę doskonałej artykule z encosia: http://encosia.com/2008/08/20/easily-build-powerful-client-side-ajax-paging-using-jquery/
W moim metoda Web odzyskać moje dane z bazy danych jako DataTable:
DataTable categoryProducts = ProductViewerAccess.GetCategoryProducts
("AA", 4, 0, Page.ToString(), out howManyPages, "FALSE", 0, "CostPrice", "asc", destinationList);
I następnie pobrać dane z DataTable do typ anonimowy:
var feeds =
from feed in categoryProducts.AsEnumerable()
select new
{
Description = feed.Field<string>("description"),
MfPartNo = feed.Field<string>("MfPN"),
Inventory = feed.Field<Int32>("Inventory")
};
typ anonimowy następnie wrócił z metodą internetowy stronie klienta:
powrót feeds.Take (PageSize);
Szablon następnie wyodrębnia i wyświetla pola:
<tbody>
{#foreach $T.d as post}
<tr>
<td>
{$T.post.Description}
<p>Mfr#: {$T.post.MfPartNo}</p>
</td>
<td>{$T.post.Inventory}</td>
</tr>
{#/for}
</tbody>
To wszystko działa świetnie.
Chciałbym jednak rozszerzyć kod, aby przeprowadzić pewne kontrole ewaluacyjne (np. Sprawdzić, czy różne kolumny w DataTable nie są NULL) i inne przetwarzanie wstępne (np. Wywołać różne funkcje do budowania adresu URL obrazu na podstawie identyfikator obrazu - który jest inną kolumną w tabeli DataTable, której nie widać w fragmencie kodu), zanim zwrócę wynikowe wiersze tabeli DataTable jako typ anonimowy po stronie klienta.
Zasadniczo chcę iterować poprzez DataTable, przeprowadzać kontrole oceny i wstępne przetwarzanie, jednocześnie budując mój anonimowy typ ręcznie, gdy jestem. A może jest lepszy sposób na osiągnięcie tego?
Czy mimo to mogę to osiągnąć?
poważaniem
Walter