2016-08-30 3 views
-1

ASP.netで初めて作業しているため、ifステートメントが壊れているかどうかわからない場合や、わからないクライアントサーバーの間に何か奇妙なものがあるかどうかわかりませんまだ....私のサーバー側とクライアント側のコードになります。私は自分のコードをログファイルに書き込んでいるので、If文に正しい構文があることがわかります。このプログラムがこれまで行ってきたことは、2つ目のドロップダウンリストがあり、最初の選択肢が2番目のものを決定するということです。最初にテスト用にハードコードされた値を使用してからSQLデータテーブルに切り替えます。今私は最初の値を選択し、何も起こりません。これでうまくいかないことを理解する助けに感謝します。ステートメントがイベントをトリガーしていない場合

サーバー側

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using FIS_DashBoard_Web.cs; 

namespace FIS_DashBoard_Web.www 
{ 
    public partial class PSBSecondary : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
     Utils ut = new Utils(); 
     protected void ddlLine_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (ddlLine.SelectedItem.Equals("WSM2")) 
      { 
       ddlBuiltProduct.Items.Add("GFE Control Board"); 
      } 
      ut.WriteToLog(ddlLine.SelectedItem.ToString()); 
     } 
    } 

} 

クライアント側

<div style="text-align: right;"> 
    <asp:Table ID="Table2" runat="server"> 
     <asp:TableRow> 
     <asp:TableHeaderCell Text="Line"/> 
     <asp:TableCell> 
      <asp:DropDownList ID="ddlLine" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlLine_SelectedIndexChanged"> 
       <asp:ListItem Value="WSM1" Text="WSM1"/> 
       <asp:ListItem Value="WSM2" Text="WSM2" /> 
       <asp:ListItem Value="Pillarhouse 1" Text="Pillarhouse 1"/> 
       <asp:ListItem Value="Pillarhouse 2" Text="Pillarhouse 2"/> 
      </asp:DropDownList> 
     </asp:TableCell> 
    </asp:TableRow> 
     <asp:TableRow> 
      <asp:TableHeaderCell Height="20" Text="What Product Was Built?"/> 
      <asp:TableCell> 
       <asp:DropDownList ID="ddlBuiltProduct" runat="server" AutoPostBack="true"> 

       </asp:DropDownList> 
      </asp:TableCell> 
     </asp:TableRow> 
    </asp:Table> 
    </div> 
+0

Errr。 _first_の値は 'WSM1'ですか?したがって、それは 'WSM2'には等しくありません。したがって、 'if'条件は満たされません。 –

+0

このようにリスト項目を定義できますか? ''は読みやすさを改善しました。 if文にブレークポイントを設定して、selectedItemが実際にWSM2と等しいかどうかを確認します。 – Max

+0

ブレークポイントを設定し、コードをステップ実行して変数を検査します。 – CodeCaster

答えて

3

使用SelectedItem.Text

if (ddlLine.SelectedItem.Text.Equals("WSM2")) 
{ 
    ddlBuiltProduct.Items.Add("GFE Control Board"); 
} 
+0

無知に見えないが、それは私が使っているものではない? – DisarmedDevo

+1

@DisarmedDevoあなたは現在、文字列とListItemオブジェクトを比較していると思います。 '.Text'を挿入すると、文字列である' Text'プロパティが取得されます。これは 'で定義された文字列です – Max

+0

@DisarmedDevoあなたは' string'と 'string'を比較する' ListItem'と 'string'を比較していました – Mairaj

関連する問題