将动态加载的文本框的值保存到适当的部分

时间:2011-03-30 18:51:53

标签: c# asp.net c#-3.0

以下是我的情景,希望我得到一个答案,因为我在过去两天都在努力解决这个问题。

假设我有一个如下课程

public partial class School{

   public TransmissionHeader SchoolDetails;

    private List<student details> invoice = new List<student details>();
    public List<StudentDetails> StudentDetails
    {
        get { return student details; }
        set { student details= value; }
    }

    }
public partial class StudentDetails{

    public Studentheader Studentheader;
    private List<Marks> marks= new List<Marks>();
    public List<Marks> Marks
    {
        get { return marks; }
        set { marks= value; }
    }
    private List<activitydetails> activitydetails= new List<activitydetails>();
    public List<ActivityDetails> ActivityDetails
    {
        get { return activitydetails; }
        set { activitydetails= value; }
    }
 public partial class ActivityDetails
 {
     public string Activity number;
     public sports Sports;
 }
 public partial class Sports
 {
    public string Activity number;
    public string Sportstype;
    public string SportsLocation;
 }

页面上有一个下拉列表,如果更改下拉列表中的值,则会在页面上动态加载一些文本框(服务器端编码)。

假设Sportstype是在页面上动态加载的文本框,我如何捕获用户输入的值并将其保存在Sports--Sportstype中。

希望我有意义。谢谢。

1 个答案:

答案 0 :(得分:1)

这取决于文本框的创建方式。

如果创建文本框的代码可以为其指定唯一名称,则可以使用FindControl方法或仅通过名称(sportsTextBox3)找到它。

如果它是有序集合的一部分(例如转发器),则可以通过索引器(sportCollection[sportIndex].sportsTextBox)访问它。

如果它在DataGrid中,那么您可以通过迭代它的Controls属性(以及子代的Controls属性来定位控件,如果需要的话,递归地)。

<强>更新

这样的东西?

private Sports GetSelectedSports()
{
    Sports sports = new Sports();
    sports.Sportstype = sportsTypeTextBox.Text;
    return sports;
}