小编Tim*_*eid的帖子

if..else语句的替代方案

我在数据库中有一个表,其中包含一堆不同的控件.在我的Page_Init方法中,我需要根据传入的Session变量加载适当的控件.有没有更好的方法来执行此操作然后使用一大堆if..else语句?我有大约15到20种不同的场景,所以我不想写20个if..else语句.任何帮助是极大的赞赏!

名为"Value"的DataTable有三列:(ID,Name,Description):

ID | Name | Description
-------------------
 1 | A    | First   
 2 | B    | Second   
 3 | C    | Third       
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

ControlOne c1;
ControlTwo c2;
ControlThree c3;

protected void Page_Init(object sender, EventArgs e)
{
    DataSet DS = Client.GetInformation(Session["Number"].ToString());
    DataRow DR = DS.Tables["Value"].Rows[0];

    if (DR["Name"].ToString() == "A" && DR["Description"].ToString() == "First")
    {
        c1 = (ControlOne)LoadControl("~/ControlOne.ascx");
        panel1.Controls.Add(c1);
    }
    else if (DR["Name"].ToString() == "B" && DR["Description"].ToString() == "Second")
    {
        c2 = (ControlTwo)LoadControl("~/ControlTwo.ascx");
        panel1.Controls.Add(c2);
    }
    else if (DR["Name"].ToString() == "C" && …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

2
推荐指数
1
解决办法
464
查看次数

标签 统计

asp.net ×1

c# ×1