C# 在asp.net中使用子字符串搜索控件
我有一个表格,员工可以输入受抚养人的详细信息。父亲、母亲和母亲 编辑保存在数据库中的信息时,他/她拥有的孩子的信息 表的结构有以下列:i_empid、c_name、c_dob、i_age、c_relation。我想减少代码行。请帮助我 txtName、txtName1、txtName3、txtName4具有相同的txtName子字符串。当使用相同的循环绑定ID时,这是否有帮助C# 在asp.net中使用子字符串搜索控件,c#,asp.net,C#,Asp.net,我有一个表格,员工可以输入受抚养人的详细信息。父亲、母亲和母亲 编辑保存在数据库中的信息时,他/她拥有的孩子的信息 表的结构有以下列:i_empid、c_name、c_dob、i_age、c_relation。我想减少代码行。请帮助我 txtName、txtName1、txtName3、txtName4具有相同的txtName子字符串。当使用相同的循环绑定ID时,这是否有帮助 cmd = new SqlCommand(); cmd.Parameters.AddWithV
cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@empid", AutoId);
cmd.Parameters.AddWithValue("@type", 2);
dtTemp = dlObj.getDataTable("UID_EmpRelation",cmd);
if (dtTemp != null && dtTemp.Rows.Count > 0)
{
#region [if 5]
if (dtTemp.Rows.Count == 5)
{
txtName.Text = dtTemp.Rows[0]["c_name"].ToString();
txtDob.Text = dtTemp.Rows[0]["c_dob"].ToString();
txtAge.Text = dtTemp.Rows[0]["i_age"].ToString();
ddlRelation.SelectedValue = dtTemp.Rows[0]["c_relation"].ToString();
txtName1.Text = dtTemp.Rows[1]["c_name"].ToString();
txtDob1.Text = dtTemp.Rows[1]["c_dob"].ToString();
txtAge1.Text = dtTemp.Rows[1]["i_age"].ToString();
ddlRelation1.SelectedValue = dtTemp.Rows[1]["c_relation"].ToString();
txtName2.Text = dtTemp.Rows[2]["c_name"].ToString();
txtDob2.Text = dtTemp.Rows[2]["c_dob"].ToString();
txtAge2.Text = dtTemp.Rows[2]["i_age"].ToString();
ddlRelation2.SelectedValue = dtTemp.Rows[2]["c_relation"].ToString();
txtName3.Text = dtTemp.Rows[3]["c_name"].ToString();
txtDob3.Text = dtTemp.Rows[3]["c_dob"].ToString();
txtAge3.Text = dtTemp.Rows[3]["i_age"].ToString();
ddlRelation3.SelectedValue = dtTemp.Rows[3]["c_relation"].ToString();
txtName4.Text = dtTemp.Rows[4]["c_name"].ToString();
txtDob4.Text = dtTemp.Rows[4]["c_dob"].ToString();
txtAge4.Text = dtTemp.Rows[4]["i_age"].ToString();
ddlRelation4.SelectedValue = dtTemp.Rows[4]["c_relation"].ToString();
}
#endregion
#region [if 4]
if (dtTemp.Rows.Count == 4)
{
txtName.Text = dtTemp.Rows[0]["c_name"].ToString();
txtDob.Text = dtTemp.Rows[0]["c_dob"].ToString();
txtAge.Text = dtTemp.Rows[0]["i_age"].ToString();
ddlRelation.SelectedValue = dtTemp.Rows[0]["c_relation"].ToString();
txtName1.Text = dtTemp.Rows[1]["c_name"].ToString();
txtDob1.Text = dtTemp.Rows[1]["c_dob"].ToString();
txtAge1.Text = dtTemp.Rows[1]["i_age"].ToString();
ddlRelation1.SelectedValue = dtTemp.Rows[1]["c_relation"].ToString();
txtName2.Text = dtTemp.Rows[2]["c_name"].ToString();
txtDob2.Text = dtTemp.Rows[2]["c_dob"].ToString();
txtAge2.Text = dtTemp.Rows[2]["i_age"].ToString();
ddlRelation2.SelectedValue = dtTemp.Rows[2]["c_relation"].ToString();
txtName3.Text = dtTemp.Rows[3]["c_name"].ToString();
txtDob3.Text = dtTemp.Rows[3]["c_dob"].ToString();
txtAge3.Text = dtTemp.Rows[3]["i_age"].ToString();
ddlRelation3.SelectedValue = dtTemp.Rows[3]["c_relation"].ToString();
}
#endregion
#region [if 3]
if (dtTemp.Rows.Count == 3)
{
txtName.Text = dtTemp.Rows[0]["c_name"].ToString();
txtDob.Text = dtTemp.Rows[0]["c_dob"].ToString();
txtAge.Text = dtTemp.Rows[0]["i_age"].ToString();
ddlRelation.SelectedValue = dtTemp.Rows[0]["c_relation"].ToString();
txtName1.Text = dtTemp.Rows[1]["c_name"].ToString();
txtDob1.Text = dtTemp.Rows[1]["c_dob"].ToString();
txtAge1.Text = dtTemp.Rows[1]["i_age"].ToString();
ddlRelation1.SelectedValue = dtTemp.Rows[1]["c_relation"].ToString();
txtName2.Text = dtTemp.Rows[2]["c_name"].ToString();
txtDob2.Text = dtTemp.Rows[2]["c_dob"].ToString();
txtAge2.Text = dtTemp.Rows[2]["i_age"].ToString();
ddlRelation2.SelectedValue = dtTemp.Rows[2]["c_relation"].ToString();
}
#endregion
#region [if 2]
if (dtTemp.Rows.Count == 2)
{
txtName.Text = dtTemp.Rows[0]["c_name"].ToString();
txtDob.Text = dtTemp.Rows[0]["c_dob"].ToString();
txtAge.Text = dtTemp.Rows[0]["i_age"].ToString();
ddlRelation.SelectedValue = dtTemp.Rows[0]["c_relation"].ToString();
txtName1.Text = dtTemp.Rows[1]["c_name"].ToString();
txtDob1.Text = dtTemp.Rows[1]["c_dob"].ToString();
txtAge1.Text = dtTemp.Rows[1]["i_age"].ToString();
ddlRelation1.SelectedValue = dtTemp.Rows[1]["c_relation"].ToString();
}
#endregion
#region [if 1]
if (dtTemp.Rows.Count == 1)
{
txtName.Text = dtTemp.Rows[0]["c_name"].ToString();
txtDob.Text = dtTemp.Rows[0]["c_dob"].ToString();
txtAge.Text = dtTemp.Rows[0]["i_age"].ToString();
ddlRelation.SelectedValue = dtTemp.Rows[0]["c_relation"].ToString();
}
#endregion
}
我制作了一个示例和小代码来演示它如何在小规模上工作。我用了5个文本框,分别命名为txtName1、txtName2、…、txtName5。现在为了得到输入的文本,我用从1到5的数字做了一个循环 这是web表单:
<form id="form1" runat="server">
Name 1: <asp:TextBox ID="txtName1" runat="server" /><br />
Name 2: <asp:TextBox ID="txtName2" runat="server" /><br />
Name 3: <asp:TextBox ID="txtName3" runat="server" /><br />
Name 4: <asp:TextBox ID="txtName4" runat="server" /><br />
Name 5: <asp:TextBox ID="txtName5" runat="server" /><br />
<asp:Button ID="btnShow" Text="Show Names" runat="server" OnClick="btnShow_Click" /><br />
<asp:Literal ID="litNames" runat="server" />
</form>
名称1:
名称2:
名称3:
名称4:
名称5:
这是在按钮上单击C#代码:
protectedvoid btnShow\u单击(对象发送方,事件参数e)
{
对于(int i=1;i 0)
{
对于(var i=0;iControls.OfType().Where(box=>box.Name.StartsWith(“textBox”);
请尝试类似的方法。谢谢您的时间。我应该自己考虑一下。
protected void btnShow_Click(object sender, EventArgs e)
{
for (int i = 1; i <= 5; i++)
{
var name = (TextBox)this.FindControl("txtName" + i);
litNames.Text += name.Text;
}
}
cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@empid", AutoId);
cmd.Parameters.AddWithValue("@type", 2);
dtTemp = dlObj.getDataTable("UID_EmpRelation",cmd);
if (dtTemp != null && dtTemp.Rows.Count > 0)
{
for(var i = 0; i <= dtTemp.Rows.Count; i++)
{
var name = (TextBox)this.FindControl("txtName" + (i == 0 ? "" : i));
var dob = (TextBox)this.FindControl("txtDob" + (i == 0 ? "" : i));
var age = (TextBox)this.FindControl("txtAge" + (i == 0 ? "" : i));
var relation = (DropDownList)this.FindControl("ddlRelation" + (i == 0 ? "" : i));
name.Text = dtTemp.Rows[i]["c_name"].ToString();
dob.Text = dtTemp.Rows[i]["c_dob"].ToString();
age.Text = dtTemp.Rows[i]["i_age"].ToString();
relation.SelectedValue = dtTemp.Rows[i]["c_relation"].ToString();
}
}