ASP.NET MVC DropDownListデータバインドおよび使用詳細

3985 ワード

一:DropDownList 1.1 DropDownListバインドデータ1.1.1 DropDownList固定バインドこの方式は、すでに固定されたデータをDropDownListにバインドするのに適している.例
 
  






1.1.2 DropDownList動的バインド
フロント:
バックグラウンド:2つの方法:(バインドのたびに元のレコードをクリアすることに注意してください.例:ddlArea.Items.Clear()
1つ目:
 
  
SqlConnection conn = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn);
DataTable dt = new DataTable();
dap.Fill(dt);
DropDownList1.Items.Clear();
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "job_desc";
DropDownList1.DataValueField = "job_id";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem(" ", " "));// , :

2つ目:
 
  
SqlConnection conn = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter dap = new SqlDataAdapter("select * from jobs", conn);
DataTable dt = new DataTable();
dap.Fill(dt);
if (dt.Rows.Count != 0)
{
DropDownList1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
DropDownList1.Items.Add(new ListItem(dt.Rows[i][" "].ToString(), dt.Rows[i]["usbkey"].ToString()));
}
DropDownList1.Items.Insert(0, " ");
DropDownList1.Items[0].Value = "0";
// DropDownList1.Items.Insert(0, new ListItem(" ", " "));// ,
}
else
{
DropDownList1.Items.Insert(0, " ");
DropDownList1.Items[0].Value = "0";
}

二:DropDownList 1の取値問題:
2.1 DropDownList 1のインデックス値、つまりvalue値男取1を選択する
.netでDropDownList 1.SelectedValue.ToString()
javascirpt var ddl1=document.getElementByIdx_x("DropDownList1").selectedIndex;
2.2 DropDownList 1のオプションを取る、つまりitem値の男性を選ぶ
.netでDropDownList 1.SelectedItem.ToString();
javascript document.getElementByIdx_x("DropDownList1").options[document.getElement("selectID").selectedIndex].value
三:DropDownList 1イベント問題:
ポイント:OnTextChanged,OnSelectedIndex Changedイベントを使用する場合は、設定する必要があります.
 
  


OnTextChanged,OnSelectedIndex Changedの2つのイベントには具体的にどのような違いがあるのか、私もテストしていません.OnSelectedIndexChangedというイベントがOnTextChangedよりも早く実行されていることを知っています.つまり、この2つのイベントが存在する場合は、まずOnSelectedIndexChangedというイベントを実行してからOnTextChangedを実行します.
四:DropDownListドロップダウンボックスの値の重複追加を回避するにはどうすればいいですか?
AppendDataBoundItemsに重複値を入力するかどうか.真は追加、偽は記入しない
理由:DropDownListコントロールAppendDataBoundItems属性が「True」に設定されている場合は、Falseに変更すればよい.
たとえば、プロフェッショナルのDropDownListコントロールAppendDataBoundItemsプロパティが「True」に設定されている場合、学部を選択するとプロフェッショナルの値が追加されます.
五:区別
 
  
depart_ddl.Items.Insert(0,new ListItem(" ","0")); 。
Items.Add
DropDownList1.Items.Add(new ListItem("Text","value"));
DropDownList1.Items.Insert(Index,new ListItem("Text","value")); 。

六:データベースからデータを読み込み、DropDownListにバインドする
 
  
if (ds.Tables[0].Rows[0]["State"].ToString ()=="True")
{
DropDownListState.Items.FindByValue("1").Selected =true;
}
else
{
DropDownListState.Items.FindByValue("0").Selected =true;
}