在不同触发器中使用条件

时间:2013-02-16 05:30:26

标签: c#

我在尝试找到更多关于如何键入一组代码并在CS文件的其他部分引用它时遇到了很多困难。

例如,我有一个带标签的简单“switch语句”。而不是输入2或3次,我想能够称之为。下面是我正在做的事情的快速说明。

//Begin Reuseable Codes
string title;
switch (Request.QueryString["parameter"]){
 case "first":
       title = "123";
       break;
 case "two":
       title = "ABC";
       break;
}
lblDDSubject.Text = "My message" + title
//End Reuseable Codes


protected void Page_Load(object sender, EventArgs e)
{
    call the above reusable codes;
}

protected void something_SelectedIndexChanged(object sender, EventArgs e)
{
    call the above reusable codes here also;
]

由于我是一个超级菜鸟,助理可能会以不那么抽象的方式回应吗?

3 个答案:

答案 0 :(得分:1)

您可以将可重复使用的代码放在方法中,并让它返回标题。

private string GetTitle(HttpRequest Request)
{
  string title;

  switch (Request.QueryString["parameter"]){
   case "first":
       title = "123";
       break;
   case "two":
       title = "ABC";
       break;
   }
   return title;
}

然后从您的Page_Load方法

中调用它
string title = GetTitle(this.Request);

答案 1 :(得分:1)

方法是出于这些目的。您在方法

中编写代码
private string DoSomething()
{
    string title;
    switch (Request.QueryString["parameter"]){
     case "first":
           title = "123";
           break;
     case "two":
           title = "ABC";
           break;

    return "My message" + title;
}

然后调用此方法如下:

protected void Page_Load(object sender, EventArgs e)
{
    lblDDSubject.Text = DoSomething();
}

protected void something_SelectedIndexChanged(object sender, EventArgs e)
{
    lblDDSubject.Text = DoSomething();
]

查看this帖子。

答案 2 :(得分:1)

如果您总是使用标签,您甚至可以使用以下内容扩展其他答案,您甚至可以根据需要更换开关盒,但我认为您不需要这样的东西。

    public static void Reusable(HttpRequest httpRequest, string parameter, Label label)
    {
        string title = "";
        switch (httpRequest.QueryString[parameter])
        {
            case "first":
                title = "123";
                break;
            case "two":
                title = "ABC";
                break;
        }
        label.Text = "My message" + title;
    }

并称之为:

    Reusable(Request, "parameter", lblDDSubject);