比較CheckBoxList的值,我不知道如果我想是可以的,但到目前爲止,我還沒有運氣...保存/恢復/從DB
我使用Visual Studio,asp.net和SQL。在varchar(max)類型的表中的一個字段...
我想要做的是將CheckBoxList的值保存到數據庫中,並檢索它們以在SQL命令中比較它們以過濾表中的幾個值數據庫。
很容易理解,當我舉一個例子:
所以我在代碼的HTML邊有這些。
<asp:CheckBoxList ID="CheckBoxList1" runat="server" onselectedindexchanged="CheckBoxList1_SelectedIndexChanged">
<asp:ListItem Value="1">Sales</asp:ListItem>
<asp:ListItem Value="2">Administration</asp:ListItem>
<asp:ListItem Value="3">Help</asp:ListItem>
</asp:CheckBoxList>
這代碼來保存數據
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox20.Text = "";
string s = null;
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
s += CheckBoxList1.Items[i].Value + ",";
TextBox20.Text = s;
}
}
現在,當某一個選擇像兩個選項,例如Sales
和Administration
,我想的值1,2被存儲在數據庫中單列。
然後使用具有Sales或Administration/Sales和Administration的SQL顯示行檢索值。
我不知道我是否正在以正確的方式進行..但任何幫助將不勝感激....我讀了創建一個表,我需要的所有值是他們正確的方式..但我說不上來它是如何工作..
如果您發佈的代碼,XML或數據樣本,** **請在高亮文本編輯器的線和點擊編輯器工具欄上的「代碼示例」按鈕(「{}」),以精確地格式化和語法突出顯示它! – 2014-12-07 19:16:23
這就是我所做的,不知道出了什麼問題..事情是如此搞砸了...謝謝你糾正它.. – Rifshan 2014-12-07 19:18:23
提示:將多個值存儲在一個列(「1,2」)通常是一個壞主意。這會使查詢稍後複雜化,例如找到所有工程師而不是銷售人員的管理員。使用單獨的表格,例如'UserRoles',並將其與'User'數據結合是一種常見的方法。 – HABO 2014-12-07 19:31:35