在这里和原帖上参与讨论者就有得分!如果对我的问题不清楚也可以讨论的。
42 个解决方案
#1
up
#2
把数据库里的东西,格式化成XML。配合相应的XSL,就可以成为特定的格式
#3
先帮你up
马上去看看
马上去看看
#4
Proyang(小过) 的方法似乎还可以,给个小例子先吧!
#5
你认为这个难在哪里??
#6
up
#7
取数据库的内容保存到xml文件,再用JS从xml文件中取出
#8
有这么难么,关注一下
#9
SQL+C#+XML+ASP.NET+ADO.NET+HTTP
行吗楼主???
行吗楼主???
#10
顶先........
极度关注
极度关注
#11
本来就不是什么难题,只是帖子发出近一周居然没人理我?
#12
这个问题,问得不太好,激发不出我的想象力
#13
这样的啊
#14
看看先......
#15
up
#16
up
#17
数据库里格式为XML配合相应的XSL,有信箱吗?我可以发个相似的例子你
#18
daxiezhi@yahoo.com.cn
谢谢 KentYu(潜水的鱼)
谢谢 KentYu(潜水的鱼)
#19
up
#20
帮你顶~~~
#21
up
#22
多谢诸位顶的兄弟们!
#23
使用xml+xslt
http://dotnet.aspx.cc/ShowDetail.aspx?id=YAWO3QGM-XD53-4D3D-OYBR-BLSBX5BNGAYM
http://dotnet.aspx.cc/ShowDetail.aspx?id=YAWO3QGM-XD53-4D3D-OYBR-BLSBX5BNGAYM
#24
我想用datalist嵌套datalist做,有多少层次,嵌套多少
#25
up
#26
有没有兄弟能给点代码来看看
#27
csdn的做法似乎是静态的,看过去他的checkbox不是从数据库读出然后动态生成的!
#28
ding
#29
顶起来!
#30
up
#31
跟着顶吧
#32
把代码贴出来
文件:RoleAdd.aspx
<%@ Page language="c#" Codebehind="RoleAdd.aspx.cs" AutoEventWireup="false" Inherits="Matrix.Web.admin.RoleAdd" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RoleAdd</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 0px; WIDTH: 750px; POSITION: absolute; TOP: 16px; HEIGHT: 550px"
cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD style="HEIGHT: 150px">
<table borderColorDark="#ffffff" width="100%" borderColorLight="#330099" border="1">
<tr>
<font color="#000099"><b>角色基本信息</b></font></tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">分类编号</font></td>
<td style="WIDTH: 223px"><asp:label id="CLASS_ID" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">子类编号</font></td>
<td><asp:label id="SUB_CLASS" runat="server"></asp:label></td>
</tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">代码</font></td>
<td style="WIDTH: 223px"><asp:label id="CODE" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">名称</font></td>
<td><asp:label id="NAME" runat="server"></asp:label></td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD>
<table height="400" width="100%">
<tr height="20">
<td><font color="#000099"><b>角色权限设置</b></font></td>
</tr>
<tr height="380">
<td>
<asp:datalist id="PurviewSetLst" Runat="server">
<ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
</asp:datalist>
<asp:Label id="Label1" runat="server">Label</asp:Label></td>
</tr>
</table>
</TD>
</TR>
<tr>
<td>
<table width="100%" align="center">
<tr align="center">
<td align="center"><asp:button id="btnSave" runat="server" Text="保存"></asp:button><asp:button id="btnAbnegate" runat="server" Text="放弃"></asp:button><asp:button id="btnBack" runat="server" Text="返回"></asp:button></td>
</tr>
</table>
</td>
</tr>
</TABLE>
</FONT>
</form>
</body>
</HTML>
文件:RoleAdd.aspx
<%@ Page language="c#" Codebehind="RoleAdd.aspx.cs" AutoEventWireup="false" Inherits="Matrix.Web.admin.RoleAdd" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RoleAdd</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 0px; WIDTH: 750px; POSITION: absolute; TOP: 16px; HEIGHT: 550px"
cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD style="HEIGHT: 150px">
<table borderColorDark="#ffffff" width="100%" borderColorLight="#330099" border="1">
<tr>
<font color="#000099"><b>角色基本信息</b></font></tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">分类编号</font></td>
<td style="WIDTH: 223px"><asp:label id="CLASS_ID" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">子类编号</font></td>
<td><asp:label id="SUB_CLASS" runat="server"></asp:label></td>
</tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">代码</font></td>
<td style="WIDTH: 223px"><asp:label id="CODE" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">名称</font></td>
<td><asp:label id="NAME" runat="server"></asp:label></td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD>
<table height="400" width="100%">
<tr height="20">
<td><font color="#000099"><b>角色权限设置</b></font></td>
</tr>
<tr height="380">
<td>
<asp:datalist id="PurviewSetLst" Runat="server">
<ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
</asp:datalist>
<asp:Label id="Label1" runat="server">Label</asp:Label></td>
</tr>
</table>
</TD>
</TR>
<tr>
<td>
<table width="100%" align="center">
<tr align="center">
<td align="center"><asp:button id="btnSave" runat="server" Text="保存"></asp:button><asp:button id="btnAbnegate" runat="server" Text="放弃"></asp:button><asp:button id="btnBack" runat="server" Text="返回"></asp:button></td>
</tr>
</table>
</td>
</tr>
</TABLE>
</FONT>
</form>
</body>
</HTML>
#33
文件:RoleAdd.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Matrix.BusinessFacade;
using Matrix.DataAccess;
using Matrix.DataAccess.DALFactory;
using Matrix.DataAccess.IDAL;
namespace Matrix.Web.admin
{
/// <summary>
/// RoleAdd 的摘要说明。
/// </summary>
public class RoleAdd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label CLASS_ID;
protected System.Web.UI.WebControls.Label SUB_CLASS;
protected System.Web.UI.WebControls.Label CODE;
protected System.Web.UI.WebControls.Label NAME;
protected System.Web.UI.WebControls.Button btnSave;
protected System.Web.UI.WebControls.Button btnAbnegate;
protected System.Web.UI.WebControls.Button btnBack;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DataList PurviewSetLst;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CLASS_ID.Text = Request.QueryString["CLASS_ID"];
CODE.Text = Request.QueryString["CODE"];
SUB_CLASS.Text = Request.QueryString["SUB_CLASS"];
NAME.Text = Request.QueryString["NAME"];
SysFuncSystem sfs = new SysFuncSystem();
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
this.btnAbnegate.Click += new System.EventHandler(this.btnAbnegate_Click);
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("RoleManage.aspx");
}
private void btnSave_Click(object sender, System.EventArgs e)
{
string strItem = Request.Form["SelItem"];
SysFuncSystem sfs = new SysFuncSystem();
sfs.SetFuncTreeByPurviewForSet(CODE.Text,strItem);
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
private void btnAbnegate_Click(object sender, System.EventArgs e)
{
}
}
}
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Matrix.BusinessFacade;
using Matrix.DataAccess;
using Matrix.DataAccess.DALFactory;
using Matrix.DataAccess.IDAL;
namespace Matrix.Web.admin
{
/// <summary>
/// RoleAdd 的摘要说明。
/// </summary>
public class RoleAdd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label CLASS_ID;
protected System.Web.UI.WebControls.Label SUB_CLASS;
protected System.Web.UI.WebControls.Label CODE;
protected System.Web.UI.WebControls.Label NAME;
protected System.Web.UI.WebControls.Button btnSave;
protected System.Web.UI.WebControls.Button btnAbnegate;
protected System.Web.UI.WebControls.Button btnBack;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DataList PurviewSetLst;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CLASS_ID.Text = Request.QueryString["CLASS_ID"];
CODE.Text = Request.QueryString["CODE"];
SUB_CLASS.Text = Request.QueryString["SUB_CLASS"];
NAME.Text = Request.QueryString["NAME"];
SysFuncSystem sfs = new SysFuncSystem();
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
this.btnAbnegate.Click += new System.EventHandler(this.btnAbnegate_Click);
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("RoleManage.aspx");
}
private void btnSave_Click(object sender, System.EventArgs e)
{
string strItem = Request.Form["SelItem"];
SysFuncSystem sfs = new SysFuncSystem();
sfs.SetFuncTreeByPurviewForSet(CODE.Text,strItem);
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
private void btnAbnegate_Click(object sender, System.EventArgs e)
{
}
}
}
#34
问题是 <ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
根本无法区分大类和子类,那么想做勾大类则子类全选的效果就做不成了
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
根本无法区分大类和子类,那么想做勾大类则子类全选的效果就做不成了
#35
这个问题关键是考虑怎么去建类别数据库,用递归去建,然后读出来每个大类和小类即可
#36
读没问题,是用递归建的,问题是我无法在页面生成后加以区分,因为我出的checkbox没有id,我无法对它们进行控制
#37
我改成<input type="checkbox" name="SelItem" id='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
<table id="PurviewSetLst" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr><td><input type="checkbox" name="SelItem" id='m00' value='m00' Checked >Matrix Basic Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0001' value='m0001' Checked >患者基本信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0002' value='m0002' Checked >确诊前诊疗信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0003' value='m0003' Checked >功能诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0004' value='m0004' Checked >病因诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m01' value='m01' Checked >Matrix Advanced Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0101' value='m0101' Checked >患者基本信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0102' value='m0102' >确诊前诊疗信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0103' value='m0103' >功能诊断与治疗(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0104' value='m0104' >病因诊断与治疗(扩充)</td></tr>
</table>
三位的是父层,五位的子层
<table id="PurviewSetLst" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr><td><input type="checkbox" name="SelItem" id='m00' value='m00' Checked >Matrix Basic Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0001' value='m0001' Checked >患者基本信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0002' value='m0002' Checked >确诊前诊疗信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0003' value='m0003' Checked >功能诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0004' value='m0004' Checked >病因诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m01' value='m01' Checked >Matrix Advanced Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0101' value='m0101' Checked >患者基本信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0102' value='m0102' >确诊前诊疗信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0103' value='m0103' >功能诊断与治疗(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0104' value='m0104' >病因诊断与治疗(扩充)</td></tr>
</table>
三位的是父层,五位的子层
#38
去看看
#39
可以用类似的方法循环动态生成,你看看能不能参考
string body="";
body=body+"<table cellPadding=3 cellSpacing=1 align=center width=100%>";
for(i=count;i<total;i++)
{ string query3="select * from userinfo where account='"+das.Tables["reply"].Rows[i]["account"].ToString()+"'";
OleDbDataAdapter dp=new OleDbDataAdapter(query3,conn);
DataSet dst=new DataSet();
dp.Fill(dst,"userinfo");
body=body+"<tr bgcolor=#f2f8ff><td width=30% height=145 valign=top><img src="+dst.Tables["userinfo"].Rows[0]["face"].ToString()+" border=0><br>";
body=body+" 用户名: "+das.Tables["reply"].Rows[i]["account"].ToString()+"<br>";
body=body+" 头衔: "+dst.Tables["userinfo"].Rows[0]["rank"].ToString()+"<br>";
body=body+" 等级: "+dst.Tables["userinfo"].Rows[0]["grade"].ToString()+"<br>";
body=body+" 经验值: "+dst.Tables["userinfo"].Rows[0]["gold"].ToString()+"<br>";
body=body+" 来自: "+dst.Tables["userinfo"].Rows[0]["comefrom"].ToString()+"<br>";
body=body+" 总发贴: <br>";
body=body+" 注册: "+dst.Tables["userinfo"].Rows[0]["addtime"]+"<br></td>";
body=body+"<td width=70% valign=top height=145 bgcolor=#f2f8ff><br><hr width=100% color=#0099cc size=1><br>"+das.Tables["reply"].Rows[i]["content"].ToString()+"";
body=body+"<br><br><br><br><hr width=100% size=1 color=#0099cc>";
body=body+"</td></tr>";
dst.Clear();
dst.Dispose();
}
string body="";
body=body+"<table cellPadding=3 cellSpacing=1 align=center width=100%>";
for(i=count;i<total;i++)
{ string query3="select * from userinfo where account='"+das.Tables["reply"].Rows[i]["account"].ToString()+"'";
OleDbDataAdapter dp=new OleDbDataAdapter(query3,conn);
DataSet dst=new DataSet();
dp.Fill(dst,"userinfo");
body=body+"<tr bgcolor=#f2f8ff><td width=30% height=145 valign=top><img src="+dst.Tables["userinfo"].Rows[0]["face"].ToString()+" border=0><br>";
body=body+" 用户名: "+das.Tables["reply"].Rows[i]["account"].ToString()+"<br>";
body=body+" 头衔: "+dst.Tables["userinfo"].Rows[0]["rank"].ToString()+"<br>";
body=body+" 等级: "+dst.Tables["userinfo"].Rows[0]["grade"].ToString()+"<br>";
body=body+" 经验值: "+dst.Tables["userinfo"].Rows[0]["gold"].ToString()+"<br>";
body=body+" 来自: "+dst.Tables["userinfo"].Rows[0]["comefrom"].ToString()+"<br>";
body=body+" 总发贴: <br>";
body=body+" 注册: "+dst.Tables["userinfo"].Rows[0]["addtime"]+"<br></td>";
body=body+"<td width=70% valign=top height=145 bgcolor=#f2f8ff><br><hr width=100% color=#0099cc size=1><br>"+das.Tables["reply"].Rows[i]["content"].ToString()+"";
body=body+"<br><br><br><br><hr width=100% size=1 color=#0099cc>";
body=body+"</td></tr>";
dst.Clear();
dst.Dispose();
}
#40
楼上的说明一下好么,没太看懂,没看出来跟我的有什么想关的地方,不好意思
#41
我如果改成服务器端控件
<asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
就会报这样的错误
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: “<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>”不是有效标识符。
源错误:
行 46: <ItemTemplate>
行 47:
行 48: <asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
行 49:
行 50: </ItemTemplate>
源文件: c:\inetpub\wwwroot\Web\admin\RoleAdd.aspx 行: 48
<asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
就会报这样的错误
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: “<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>”不是有效标识符。
源错误:
行 46: <ItemTemplate>
行 47:
行 48: <asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
行 49:
行 50: </ItemTemplate>
源文件: c:\inetpub\wwwroot\Web\admin\RoleAdd.aspx 行: 48
#42
顶啊!
#1
up
#2
把数据库里的东西,格式化成XML。配合相应的XSL,就可以成为特定的格式
#3
先帮你up
马上去看看
马上去看看
#4
Proyang(小过) 的方法似乎还可以,给个小例子先吧!
#5
你认为这个难在哪里??
#6
up
#7
取数据库的内容保存到xml文件,再用JS从xml文件中取出
#8
有这么难么,关注一下
#9
SQL+C#+XML+ASP.NET+ADO.NET+HTTP
行吗楼主???
行吗楼主???
#10
顶先........
极度关注
极度关注
#11
本来就不是什么难题,只是帖子发出近一周居然没人理我?
#12
这个问题,问得不太好,激发不出我的想象力
#13
这样的啊
#14
看看先......
#15
up
#16
up
#17
数据库里格式为XML配合相应的XSL,有信箱吗?我可以发个相似的例子你
#18
daxiezhi@yahoo.com.cn
谢谢 KentYu(潜水的鱼)
谢谢 KentYu(潜水的鱼)
#19
up
#20
帮你顶~~~
#21
up
#22
多谢诸位顶的兄弟们!
#23
使用xml+xslt
http://dotnet.aspx.cc/ShowDetail.aspx?id=YAWO3QGM-XD53-4D3D-OYBR-BLSBX5BNGAYM
http://dotnet.aspx.cc/ShowDetail.aspx?id=YAWO3QGM-XD53-4D3D-OYBR-BLSBX5BNGAYM
#24
我想用datalist嵌套datalist做,有多少层次,嵌套多少
#25
up
#26
有没有兄弟能给点代码来看看
#27
csdn的做法似乎是静态的,看过去他的checkbox不是从数据库读出然后动态生成的!
#28
ding
#29
顶起来!
#30
up
#31
跟着顶吧
#32
把代码贴出来
文件:RoleAdd.aspx
<%@ Page language="c#" Codebehind="RoleAdd.aspx.cs" AutoEventWireup="false" Inherits="Matrix.Web.admin.RoleAdd" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RoleAdd</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 0px; WIDTH: 750px; POSITION: absolute; TOP: 16px; HEIGHT: 550px"
cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD style="HEIGHT: 150px">
<table borderColorDark="#ffffff" width="100%" borderColorLight="#330099" border="1">
<tr>
<font color="#000099"><b>角色基本信息</b></font></tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">分类编号</font></td>
<td style="WIDTH: 223px"><asp:label id="CLASS_ID" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">子类编号</font></td>
<td><asp:label id="SUB_CLASS" runat="server"></asp:label></td>
</tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">代码</font></td>
<td style="WIDTH: 223px"><asp:label id="CODE" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">名称</font></td>
<td><asp:label id="NAME" runat="server"></asp:label></td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD>
<table height="400" width="100%">
<tr height="20">
<td><font color="#000099"><b>角色权限设置</b></font></td>
</tr>
<tr height="380">
<td>
<asp:datalist id="PurviewSetLst" Runat="server">
<ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
</asp:datalist>
<asp:Label id="Label1" runat="server">Label</asp:Label></td>
</tr>
</table>
</TD>
</TR>
<tr>
<td>
<table width="100%" align="center">
<tr align="center">
<td align="center"><asp:button id="btnSave" runat="server" Text="保存"></asp:button><asp:button id="btnAbnegate" runat="server" Text="放弃"></asp:button><asp:button id="btnBack" runat="server" Text="返回"></asp:button></td>
</tr>
</table>
</td>
</tr>
</TABLE>
</FONT>
</form>
</body>
</HTML>
文件:RoleAdd.aspx
<%@ Page language="c#" Codebehind="RoleAdd.aspx.cs" AutoEventWireup="false" Inherits="Matrix.Web.admin.RoleAdd" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>RoleAdd</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 0px; WIDTH: 750px; POSITION: absolute; TOP: 16px; HEIGHT: 550px"
cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD style="HEIGHT: 150px">
<table borderColorDark="#ffffff" width="100%" borderColorLight="#330099" border="1">
<tr>
<font color="#000099"><b>角色基本信息</b></font></tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">分类编号</font></td>
<td style="WIDTH: 223px"><asp:label id="CLASS_ID" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">子类编号</font></td>
<td><asp:label id="SUB_CLASS" runat="server"></asp:label></td>
</tr>
<tr>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">代码</font></td>
<td style="WIDTH: 223px"><asp:label id="CODE" runat="server"></asp:label></td>
<td width="13%" bgColor="#330099"><font style="FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: 宋体">名称</font></td>
<td><asp:label id="NAME" runat="server"></asp:label></td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD>
<table height="400" width="100%">
<tr height="20">
<td><font color="#000099"><b>角色权限设置</b></font></td>
</tr>
<tr height="380">
<td>
<asp:datalist id="PurviewSetLst" Runat="server">
<ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
</asp:datalist>
<asp:Label id="Label1" runat="server">Label</asp:Label></td>
</tr>
</table>
</TD>
</TR>
<tr>
<td>
<table width="100%" align="center">
<tr align="center">
<td align="center"><asp:button id="btnSave" runat="server" Text="保存"></asp:button><asp:button id="btnAbnegate" runat="server" Text="放弃"></asp:button><asp:button id="btnBack" runat="server" Text="返回"></asp:button></td>
</tr>
</table>
</td>
</tr>
</TABLE>
</FONT>
</form>
</body>
</HTML>
#33
文件:RoleAdd.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Matrix.BusinessFacade;
using Matrix.DataAccess;
using Matrix.DataAccess.DALFactory;
using Matrix.DataAccess.IDAL;
namespace Matrix.Web.admin
{
/// <summary>
/// RoleAdd 的摘要说明。
/// </summary>
public class RoleAdd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label CLASS_ID;
protected System.Web.UI.WebControls.Label SUB_CLASS;
protected System.Web.UI.WebControls.Label CODE;
protected System.Web.UI.WebControls.Label NAME;
protected System.Web.UI.WebControls.Button btnSave;
protected System.Web.UI.WebControls.Button btnAbnegate;
protected System.Web.UI.WebControls.Button btnBack;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DataList PurviewSetLst;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CLASS_ID.Text = Request.QueryString["CLASS_ID"];
CODE.Text = Request.QueryString["CODE"];
SUB_CLASS.Text = Request.QueryString["SUB_CLASS"];
NAME.Text = Request.QueryString["NAME"];
SysFuncSystem sfs = new SysFuncSystem();
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
this.btnAbnegate.Click += new System.EventHandler(this.btnAbnegate_Click);
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("RoleManage.aspx");
}
private void btnSave_Click(object sender, System.EventArgs e)
{
string strItem = Request.Form["SelItem"];
SysFuncSystem sfs = new SysFuncSystem();
sfs.SetFuncTreeByPurviewForSet(CODE.Text,strItem);
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
private void btnAbnegate_Click(object sender, System.EventArgs e)
{
}
}
}
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Matrix.BusinessFacade;
using Matrix.DataAccess;
using Matrix.DataAccess.DALFactory;
using Matrix.DataAccess.IDAL;
namespace Matrix.Web.admin
{
/// <summary>
/// RoleAdd 的摘要说明。
/// </summary>
public class RoleAdd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label CLASS_ID;
protected System.Web.UI.WebControls.Label SUB_CLASS;
protected System.Web.UI.WebControls.Label CODE;
protected System.Web.UI.WebControls.Label NAME;
protected System.Web.UI.WebControls.Button btnSave;
protected System.Web.UI.WebControls.Button btnAbnegate;
protected System.Web.UI.WebControls.Button btnBack;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DataList PurviewSetLst;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CLASS_ID.Text = Request.QueryString["CLASS_ID"];
CODE.Text = Request.QueryString["CODE"];
SUB_CLASS.Text = Request.QueryString["SUB_CLASS"];
NAME.Text = Request.QueryString["NAME"];
SysFuncSystem sfs = new SysFuncSystem();
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
this.btnAbnegate.Click += new System.EventHandler(this.btnAbnegate_Click);
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("RoleManage.aspx");
}
private void btnSave_Click(object sender, System.EventArgs e)
{
string strItem = Request.Form["SelItem"];
SysFuncSystem sfs = new SysFuncSystem();
sfs.SetFuncTreeByPurviewForSet(CODE.Text,strItem);
DataSet ds = sfs.GetFuncTreeByPurviewForSet(CODE.Text);
PurviewSetLst.DataSource = ds;
PurviewSetLst.DataBind();
}
private void btnAbnegate_Click(object sender, System.EventArgs e)
{
}
}
}
#34
问题是 <ItemTemplate>
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
根本无法区分大类和子类,那么想做勾大类则子类全选的效果就做不成了
<input type="checkbox" name="SelItem" value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
</ItemTemplate>
根本无法区分大类和子类,那么想做勾大类则子类全选的效果就做不成了
#35
这个问题关键是考虑怎么去建类别数据库,用递归去建,然后读出来每个大类和小类即可
#36
读没问题,是用递归建的,问题是我无法在页面生成后加以区分,因为我出的checkbox没有id,我无法对它们进行控制
#37
我改成<input type="checkbox" name="SelItem" id='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' value='<%# DataBinder.Eval(Container, "DataItem.FUNCTIONID") %>' <%# DataBinder.Eval(Container, "DataItem.SPARE_MES") %> ><%# DataBinder.Eval(Container, "DataItem.FUNCTIONNAME") %>
<table id="PurviewSetLst" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr><td><input type="checkbox" name="SelItem" id='m00' value='m00' Checked >Matrix Basic Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0001' value='m0001' Checked >患者基本信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0002' value='m0002' Checked >确诊前诊疗信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0003' value='m0003' Checked >功能诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0004' value='m0004' Checked >病因诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m01' value='m01' Checked >Matrix Advanced Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0101' value='m0101' Checked >患者基本信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0102' value='m0102' >确诊前诊疗信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0103' value='m0103' >功能诊断与治疗(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0104' value='m0104' >病因诊断与治疗(扩充)</td></tr>
</table>
三位的是父层,五位的子层
<table id="PurviewSetLst" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr><td><input type="checkbox" name="SelItem" id='m00' value='m00' Checked >Matrix Basic Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0001' value='m0001' Checked >患者基本信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0002' value='m0002' Checked >确诊前诊疗信息收集</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0003' value='m0003' Checked >功能诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0004' value='m0004' Checked >病因诊断与治疗</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m01' value='m01' Checked >Matrix Advanced Edition</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0101' value='m0101' Checked >患者基本信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0102' value='m0102' >确诊前诊疗信息收集(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0103' value='m0103' >功能诊断与治疗(扩充)</td></tr>
<tr><td><input type="checkbox" name="SelItem" id='m0104' value='m0104' >病因诊断与治疗(扩充)</td></tr>
</table>
三位的是父层,五位的子层
#38
去看看
#39
可以用类似的方法循环动态生成,你看看能不能参考
string body="";
body=body+"<table cellPadding=3 cellSpacing=1 align=center width=100%>";
for(i=count;i<total;i++)
{ string query3="select * from userinfo where account='"+das.Tables["reply"].Rows[i]["account"].ToString()+"'";
OleDbDataAdapter dp=new OleDbDataAdapter(query3,conn);
DataSet dst=new DataSet();
dp.Fill(dst,"userinfo");
body=body+"<tr bgcolor=#f2f8ff><td width=30% height=145 valign=top><img src="+dst.Tables["userinfo"].Rows[0]["face"].ToString()+" border=0><br>";
body=body+" 用户名: "+das.Tables["reply"].Rows[i]["account"].ToString()+"<br>";
body=body+" 头衔: "+dst.Tables["userinfo"].Rows[0]["rank"].ToString()+"<br>";
body=body+" 等级: "+dst.Tables["userinfo"].Rows[0]["grade"].ToString()+"<br>";
body=body+" 经验值: "+dst.Tables["userinfo"].Rows[0]["gold"].ToString()+"<br>";
body=body+" 来自: "+dst.Tables["userinfo"].Rows[0]["comefrom"].ToString()+"<br>";
body=body+" 总发贴: <br>";
body=body+" 注册: "+dst.Tables["userinfo"].Rows[0]["addtime"]+"<br></td>";
body=body+"<td width=70% valign=top height=145 bgcolor=#f2f8ff><br><hr width=100% color=#0099cc size=1><br>"+das.Tables["reply"].Rows[i]["content"].ToString()+"";
body=body+"<br><br><br><br><hr width=100% size=1 color=#0099cc>";
body=body+"</td></tr>";
dst.Clear();
dst.Dispose();
}
string body="";
body=body+"<table cellPadding=3 cellSpacing=1 align=center width=100%>";
for(i=count;i<total;i++)
{ string query3="select * from userinfo where account='"+das.Tables["reply"].Rows[i]["account"].ToString()+"'";
OleDbDataAdapter dp=new OleDbDataAdapter(query3,conn);
DataSet dst=new DataSet();
dp.Fill(dst,"userinfo");
body=body+"<tr bgcolor=#f2f8ff><td width=30% height=145 valign=top><img src="+dst.Tables["userinfo"].Rows[0]["face"].ToString()+" border=0><br>";
body=body+" 用户名: "+das.Tables["reply"].Rows[i]["account"].ToString()+"<br>";
body=body+" 头衔: "+dst.Tables["userinfo"].Rows[0]["rank"].ToString()+"<br>";
body=body+" 等级: "+dst.Tables["userinfo"].Rows[0]["grade"].ToString()+"<br>";
body=body+" 经验值: "+dst.Tables["userinfo"].Rows[0]["gold"].ToString()+"<br>";
body=body+" 来自: "+dst.Tables["userinfo"].Rows[0]["comefrom"].ToString()+"<br>";
body=body+" 总发贴: <br>";
body=body+" 注册: "+dst.Tables["userinfo"].Rows[0]["addtime"]+"<br></td>";
body=body+"<td width=70% valign=top height=145 bgcolor=#f2f8ff><br><hr width=100% color=#0099cc size=1><br>"+das.Tables["reply"].Rows[i]["content"].ToString()+"";
body=body+"<br><br><br><br><hr width=100% size=1 color=#0099cc>";
body=body+"</td></tr>";
dst.Clear();
dst.Dispose();
}
#40
楼上的说明一下好么,没太看懂,没看出来跟我的有什么想关的地方,不好意思
#41
我如果改成服务器端控件
<asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
就会报这样的错误
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: “<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>”不是有效标识符。
源错误:
行 46: <ItemTemplate>
行 47:
行 48: <asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
行 49:
行 50: </ItemTemplate>
源文件: c:\inetpub\wwwroot\Web\admin\RoleAdd.aspx 行: 48
<asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
就会报这样的错误
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: “<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>”不是有效标识符。
源错误:
行 46: <ItemTemplate>
行 47:
行 48: <asp:CheckBox ID='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONID") %>' Text='<%# DataBinder.Eval(Container.DataItem,"FUNCTIONNAME") %>' Runat=server></asp:CheckBox>
行 49:
行 50: </ItemTemplate>
源文件: c:\inetpub\wwwroot\Web\admin\RoleAdd.aspx 行: 48
#42
顶啊!