获取存储在 CheckBoxList 中 table 中的特定用户首选项作为选定项
Get particluar User Preferences stored in table in CheckBoxList as Selected
我将用户偏好值存储在 table 的一列中,由 ,
示例分隔 Football,Tennis,Swimming,Hiking
Table 用户偏好
ID USERID Preferences
1 X1234 Football,Tennis,Swimming,Hiking
2 X2345 Cricket
3 X3456 Dancing,Reading
4 X4567 Games,Cricket,Tennis
首选项存储在 table 中,我需要在 asp.net 网络表单应用程序的 CheckBoxList 中将特定用户首选项显示为 Selected
,以便用户可以看到他的首选项或在 [= =31=]想要
<asp:CheckBoxList ID="chkLstPrefences" runat="server" DataTextField="Preferences" DataValueField="Preferences" >
我不确定如何让它工作我正在读取用户偏好并将它们转换为字符串数组,但我不确定如何在 CheckBoxList
中匹配并向用户显示所选项目
例如用户 X1234
string sUserPreferences = "Football,Tennis,Swimming,Hiking"
string[] strAryUserPreferences = sUserPreferences.Split(',');
如何将 strAryUserPreferences
中的用户首选项与 CheckBoxList chkLstPrefences
中的值相匹配
我认为您可以将域绑定到您的复选框列表,然后遍历每个复选框列表项并验证是否在您的用户首选项中。
像这样的东西(对不起,如果它不完美,但我现在还没有visual studio)..
var userPreferences = sUserPreferences.Split(',').ToList();
chkLstPrefences.DataSource = preferencesDomain;
chkLstPrefences.DataBind();
foreach(var item in chkLstPrefences.Items)
item.Selected = userPreferences.Contains(item.Text);
首先将列的值存储在某个列表中,然后循环遍历 ChkListPreference 的每个项目,将存储在 lstPrefList 中的每个值作为嵌套 for 循环,当任何值匹配时将其标记为在 ChkListPreference 中选择
// store value in lstPrefList
List<string> lstPrefList = ValuesFromDB;
if ((chkLstPrefences.Items.Count > 0) && (lstPrefList.Count > 0))
{
for (int i2=0; i2 <chkLstPrefences.Items.Count; i2++)
{
for ( int i=0; i <lstPrefList.Count; i++)
{
if (chkLstPrefences.Items[i2].Value.ToString().Trim() == lstPrefList[i].ToString().Trim())
{
chkLstPrefences.Items[i2].Selected = true;
}
}
}
}
我将用户偏好值存储在 table 的一列中,由 ,
示例分隔 Football,Tennis,Swimming,Hiking
Table 用户偏好
ID USERID Preferences
1 X1234 Football,Tennis,Swimming,Hiking
2 X2345 Cricket
3 X3456 Dancing,Reading
4 X4567 Games,Cricket,Tennis
首选项存储在 table 中,我需要在 asp.net 网络表单应用程序的 CheckBoxList 中将特定用户首选项显示为 Selected
,以便用户可以看到他的首选项或在 [= =31=]想要
<asp:CheckBoxList ID="chkLstPrefences" runat="server" DataTextField="Preferences" DataValueField="Preferences" >
我不确定如何让它工作我正在读取用户偏好并将它们转换为字符串数组,但我不确定如何在 CheckBoxList
中匹配并向用户显示所选项目例如用户 X1234
string sUserPreferences = "Football,Tennis,Swimming,Hiking"
string[] strAryUserPreferences = sUserPreferences.Split(',');
如何将 strAryUserPreferences
中的用户首选项与 CheckBoxList chkLstPrefences
我认为您可以将域绑定到您的复选框列表,然后遍历每个复选框列表项并验证是否在您的用户首选项中。 像这样的东西(对不起,如果它不完美,但我现在还没有visual studio)..
var userPreferences = sUserPreferences.Split(',').ToList();
chkLstPrefences.DataSource = preferencesDomain;
chkLstPrefences.DataBind();
foreach(var item in chkLstPrefences.Items)
item.Selected = userPreferences.Contains(item.Text);
首先将列的值存储在某个列表中,然后循环遍历 ChkListPreference 的每个项目,将存储在 lstPrefList 中的每个值作为嵌套 for 循环,当任何值匹配时将其标记为在 ChkListPreference 中选择
// store value in lstPrefList
List<string> lstPrefList = ValuesFromDB;
if ((chkLstPrefences.Items.Count > 0) && (lstPrefList.Count > 0))
{
for (int i2=0; i2 <chkLstPrefences.Items.Count; i2++)
{
for ( int i=0; i <lstPrefList.Count; i++)
{
if (chkLstPrefences.Items[i2].Value.ToString().Trim() == lstPrefList[i].ToString().Trim())
{
chkLstPrefences.Items[i2].Selected = true;
}
}
}
}