1

我有一个用 Asp.Net 编程的网站,并使用 ListView 来显示数据。数据来自 LinqDataSource。

在我的 EditItemTemplate 我有一个 CheckBoxList ,其中包括:

<asp:CheckBoxList runat="server" ID="TypeCheckBoxList" RepeatColumns="2">
 <asp:ListItem Value="128">6.-10. klasse<br />Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="64">6.-10. klasse<br />Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="32">Gået ud af skolen<br/>Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="16">Gået ud af skolen<br/>Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="8">Ekstra støtte<br/>Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="4">Ekstra støtte<br />Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="2">Kontakt</asp:ListItem>
 <asp:ListItem Value="1">Om os<br />Medarbejdere</asp:ListItem>
</asp:CheckBoxList>

我的数据库中有一个名为 Type 的列,它是一个 tinyint。因此我可以说 (byte)Eval("Type")。

但是我如何将我的 Eval("Type") 数据绑定到 CheckBoxList,所以如果 Eval("Type") 是 3,那么最后两个项目被选中?

我尝试设置一个绑定到 Type 的隐藏值,然后在 CheckBoxList OnLoad 中设置所选项目。但这没有用。

4

2 回答 2

3

这就是这样做的方法,将隐藏值绑定到 Type,但是在 ListView 的 ItemDataBound 事件上。

所以事件看起来像这样:

protected void ListViewId_ItemDataBound (object sender, ListViewItemEventArgs e)
{
    HiddenField hdfType = (HiddenField)e.Item.FindControl("hdfType");
    CheckBoxList TypeCheckBoxList = (HiddenField)e.Item.FindControl("TypeCheckBoxList");

    // and you put the hidden just for EditItem and do:
    if (hdfType != null)
        foreach (ListItem item in TypeCheckBoxList.Items)
            if (int.Parse(item.Value) < int.Parse(hdfType.Value))
                item.Selected = true;
}

(这些都是我脑子里写的,可能会有一些小错误)

于 2009-09-23T06:51:48.987 回答
0

首先你应该写一个像这样的javascript函数

function Selected(value,type)

{

   if(value<type)
    return true;
   else
    return false;
}



<asp:ListItem Value="32" Selected= javascript:function Selected(32,Eval("Type"))>Gået ud af skolen<br />Norddjurs vejleder</asp:ListItem>    
<asp:ListItem Value="16" Selected= javascript:function Selected(16,Eval("Type")>Gået ud af skolen<br />Syddjurs vejleder</asp:ListItem> 

可能需要稍作修改才能完成它..主要关注Selected属性

于 2009-09-22T06:44:09.297 回答