我有以下名为ProductMenu.ascx的用户控件:
CS:
public partial class ProductMenu1 :System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void SetTxt(String Cusine,String PName,String Description,String serving)
{
lblProductName.Text = PName;
lblDescription.Text = Description;
lblServing.Text = serving;
lblPrice.Text = ""+230;
}
}
我将此用户控件添加到页面 ProductMenu.aspx ,如下所示
CS:
public void PupulateMenu(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
ProductMenu1 PM = (ProductMenu1)Page.LoadControl("ProductMenu.ascx");
PM.SetTxt(dt.Rows[i][1].ToString(),dt.Rows[i][3].ToString(),dt.Rows[i]
[4].ToString(),dt.Rows[i][6].ToString());
Button addtocart = (Button)PM.FindControl("btnAddToCart");
addtocart.CommandArgument = dt.Rows[i][3].ToString() + ";" + dt.Rows[i]
[8].ToString() + ";" + dt.Rows[i][5].ToString();
addtocart.Click += new EventHandler(addtocatr_Click);
pnlProductMenu.Controls.Add(PM);
}
}
以下是 ProductMenu.aspx 页面上的功能,用于将用户控件文本框数量添加到购物车。
private void addtocatr_Click(object sender, EventArgs e)
{
string[] arg = ((System.Web.UI.WebControls.Button)
(sender)).CommandArgument.ToString().Split(';');
ProductMenu1 pm=new ProductMenu1 ();
string txtQty = ((TextBox)pm.FindControl("txtQty")).Text;
}
但是我无法访问方法addtocatr_Click中的文本框(txtqty)文本。我不知道究竟是什么问题。请帮帮我。 提前谢谢。
答案 0 :(得分:0)
编写属性以访问TextBox
值
喜欢
public string QtyText
{
get { return txtQty.Text; }
}
并使用
进行访问string txtQty = pm.QtyText;
答案 1 :(得分:0)
我无法访问文本框(txtqty)文本
为您的控件提供名为Quantity的公共只读属性。使用get例程return txtqty.text;