要实现的效果:
一个Table,每Item都有一个DropDownList 或者Select。这个DropDownList里面是N个选项。并且初始化时候,被选为此Item相应的值。
我想在一个Repeater中来实现,
页面大体如下:
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table width="95%" border="0" cellspacing="1" cellpadding="3" align="center" class="tableBorder">
<tr align="center">
<td height="23" width="20%" class="forumHeaderBackgroundAlternate"><B>用户名</B></td>
<td height="23" width="15%" class="forumHeaderBackgroundAlternate"><B>用户组</B></td>
<td height="23" width="15%" class="forumHeaderBackgroundAlternate"><B>权限</B></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr align="center">
<td height="23" width="20%" class="Forumrow"><%# DataBinder.Eval(Container.DataItem, "AdminName")%></td>
<td height="23" width="15%" class="Forumrow"><%# DataBinder.Eval(Container.DataItem, "GroupName")%></td>
<td height="23" width="15%" class="Forumrow">
<SELECT style="Z-INDEX: 101; LEFT: 312px; POSITION: absolute; TOP: 240px" id="Select1" name="Select1"
runat="server">
<OPTION selected></OPTION>
</SELECT><!--这里或者使用DropDownList-->
<asp:DropDownList id=AdminGroup runat=server />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
上面想实现的功能:通过选择dropdownlist中的值给用户新的权限!并且初始时候,Dropdownlist中Selected的是此用户现有权限。在代码中我这么写的:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//ds1为每个Item要显示的DataSet
//ds2为系统中所有权限的DataSet

AdminListRepeater.DataSource = ds1;
AdminGroup.DataSource = ds2
AdminGroup.DataTextField = "GroupName";
AdminGroup.DataValueField = "GroupID";
//这里不会写了,觉得应该是从ds1中得到此item的权限,然后将AdminGroup的selectedValue设置为这个权限!但是数据绑定中,我怎么给每一个DropDownlist附值呢!?
AdminGroup.DataBind();
AdminListRepeater.DataBind();
}后来我暂且不管这个问题,只是让他显示就好了,每个DropDownlist只是显示全部权限,不初始化为每个item的权限。
但是出现
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 54:  AdminGroup.DataSource = ds2
行 55:  AdminGroup.DataTextField = "GroupName";
行 56:  AdminGroup.DataValueField = "GroupID";请问如何实现我说的效果呢??
谢谢!