2013-07-04 1 views
0

У меня после UserControl имени ProductMenu.ascx:Вывод текста из текстового окна управления пользователя

enter image description here

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; 
} 

, но я не могу получить доступ к тексту текстового поля (txtqty) в методе addtocatr_Click. Я не знаю, в чем проблема. Пожалуйста, помогите мне. Спасибо заранее.

+0

Какая ошибка или исключение наступает? – Shaharyar

ответ

0

будет проще написать свойство для доступа к TextBox Значению

Как

public string QtyText 
{ 
    get { return txtQty.Text; } 
} 

и доступ с использованием

string txtQty = pm.QtyText; 
0

Я не может получить доступ к текстовому полю (txtqty) текст

Дайте вашему управлению публичное свойство readonly под названием Quantity. Используйте процедуру get to return txtqty.text;

Смежные вопросы