【问题标题】:Retrieving data from a repeater ASP.net C#从中继器 ASP.net C# 中检索数据
【发布时间】:2015-03-08 14:03:00
【问题描述】:

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

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

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

但是我收到警告:

“错误 1 ​​'System.Web.UI.ITemplate' 不包含 'FindControl' 的定义,并且没有扩展方法 'FindControl' 接受类型为 'System.Web.UI.ITemplate' 的第一个参数找到(您是否缺少 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();
                }
            }
        }
    }

【问题讨论】:

  • 显示你的 .aspx /markup

标签: c# asp.net repeater


【解决方案1】:

你应该做类似的事情

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

因为控件在Repeater的项目中而不是在ItemTemplate中。

【讨论】:

  • 我试了一下,但在 FindControl 上仍然遇到同样的错误
猜你喜欢
  • 2013-08-08
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
相关资源
最近更新 更多