私は最近、LINQを使用してデータベースから取得した多数の製品を表示するリストビューを作成しました。製品が非常に多いので、検索するのが面倒すぎるように、ページに同時にすべての商品を掲載することは望ましくありません。代わりに、私はpaginatonを追加したい。C#DataPagerヘルプ!
これを行う方法は、DataPagerを作成し、これをListviewにリンクすることです。私の問題は、サイトがエラーのためにもう実行されないことです。 "'LV_Pro_PagepropertiesChanging'のオーバーロードはdelegate 'System.Event.Handler'と一致しません。"私のコードが正しかったように(私にとってはとにかく!)、私はむしろこれに困惑しています。
誰かがこれを見て、私がこれを正しく設定しているかどうかを確認できますか?誰かが別の方法を提案できる場合は、それも素晴らしいでしょう。
ポケットベル:
<asp:DataPager ID="DataPagerPro" runat="server"
PagedControlID="LV_Products"
PageSize="8">
...
</asp:DataPager>
リストビュー:
<asp:ListView ID="LV_Products" runat="server"
DataKeyNames="ProductID"
OnItemDataBound="LV_Products_ItemDataBound"
OnPagePropertiesChanged="LV_Pro_PagePropertiesChanging">
マイコマンド:
protected void LV_Pro_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
this.DataPagerPro.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
LV_Products.DataBind();
}
乾杯。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack && !Page.IsCallback)
{
using (DataClasses_ECDataContext db = new DataClasses_ECDataContext())
{
if (RouteData.Values["tagnames"] != null)
{
string tagNames = RouteData.Values["tagnames"].ToString();
string[] taglist = tagNames.Split('/');
object SubCatID = codesnippets.Decrypt(taglist[1] + "=", true);
if (SubCatID.ToString().Trim() != "INVAILD")
{
int SubCat = int.Parse(SubCatID.ToString());
DT_SubCategory sub = db.DT_SubCategories.Single(x => x.SubCatID == SubCat);
ViewState.Add("SubCatID", SubCat);
LB_Title.Text = sub.SubcatName;
LB_Description.Text = sub.SubCatDescription = "<p>" + sub.SubCatDescription.Replace("\r\n", "</p><p>") + "</p>";
LB_SubCategory.Text = " " + sub.SubcatName + " Range";
// var SubCatLink = db.DT_SubProLinks.Single(i => i.SubCatID == int.Parse(ViewState["SubCatID"].ToString()));
var productlink = db.DT_SubProLinks.Where(v => v.SubCatID == int.Parse(ViewState["SubCatID"].ToString())).Select(v=>v.ProductID);
var product = from x in db.DT_Products join v in productlink on x.ProductID equals v
//where x.ProductID == SubCatLink.ProductID && x.Enabled == true
select new
{
x.ProductName,
x.ProductID,
x.Sale_Price,
Link = RouteTable.Routes.GetVirtualPath(null, "Product-by-tag", codesnippets.RouteLink(x.ProductID, x.ProductName, char.Parse(taglist[2]))).VirtualPath,
};
LV_Products.DataSource = product;
LV_Products.DataBind();
}
}
}
}
残念なことに、非常に明確な質問ではない私に外国人に見える – Liam