1

一連のコードを入力して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;
]

私は超初心者なので、アシスタントはあまり抽象的な方法で応答できませんか?

4

3 に答える 3

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);
于 2013-02-16T05:39:33.063 に答える
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();
]

この投稿をご覧ください。

于 2013-02-16T05:39:56.090 に答える
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);
于 2013-02-16T05:53:31.717 に答える