从转发器 ASP.net C# 检索数据

本文关键字:检索 数据 net 转发器 ASP | 更新日期: 2024-11-07 04:28:33

我正在尝试从中继器中检索一些数据,最终目标是将一堆数据发送到表中。

我正在使用以下内容来访问中继器,但是"FindControl"带有下划线:

String prodName = ((Literal)Repeater1.ItemTemplate.FindControl("LitProdName")).Text;

但是我收到警告:

"错误 1 'System.Web.UI.ITemplate' 不包含 'FindControl' 的定义,并且找不到接受类型为 'System.Web.UI.ITemplate' 的第一个参数的扩展方法 'FindControl' (您是否缺少 using 指令或程序集引用? C:''Users''User''Desktop''WLL''WLL''ProductDetails.aspx.cs 62 68 WLL"

完整的方法如下:

public void AddToBasket()
    {
        {
            //String prodName = "Test";
            String prodName = ((Literal)Repeater1.ItemTemplate.FindControl("LitProdName")).Text;
            String prodID = Request.QueryString["productID"];
            String userName = User.Identity.Name;
            String size = "17.5";
            int price = 10;
            {
                var basket = new Basket();
                basket.User = userName;
                basket.ProductID = Convert.ToInt32(prodID);
                //basket.ProductName = prodName;
                basket.Size = size;
                basket.Price = price;
                using (ProductContext _db = new ProductContext())
                {
                    // By default, uses deferred execution for performance (doesn't get the data until it uses it)
                    // Calling ToList gets the data immediate
                    _db.Baskets.Add(basket);
                    _db.SaveChanges();
                }
            }
        }
    }

从转发器 ASP.net C# 检索数据

你应该做类似的事情

foreach(RepeaterItem item in Repeater.Items) 
{
   var lit = item.FindControl("id");
    //code
} 

由于控件位于中继器的项中,而不是项模板中。