数据绑定 大家帮我多点这代码,后台代码写全部在页面出现如下错误 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 net_lover 于 2011-09-07 16:52:57 编辑 建议这样子,绑定方法,在调用后台前台Text = '<%# method(Eval("field").ToString()) %>'后台private string method(string par){//自己看着写} 这个一定要写在页面的,有什么方法没?一个表有多个字段,命名如:image1,image2,image3....image9现在我需要在页面循环判断这些字段的值是否为空,把不为空的输出。求代码。。 <%for(int i=0;i<10;i++){%><%#Eval("pa_image"+i).ToString()!=""?path+=..... :""%><%}%> 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS1040: 预处理器指令必须作为一行的第一个非空白字符出现源错误: 行 23: %>行 24: 行 25: <%#Eval("pa_image"+i).ToString()!=""?path+=<%#Eval("pa_image"+i).ToString() :""%>行 26: 行 27: <%}%> </tr> 还是不行。红色报错 你别再费劲 了,给你说了for(){%>Eval(xxx)<%}这种写法是错误的,根本是不支持的Eval只能使用在数据控件中!!! 哥们,判断为空在后台 for (int i = 0; i < GridViewl.Rows.Count; i++){ .....} 在后台写一个方法: protect bool ISImgNull(int i){ if(.....) { return true; } else { return false;}在前台调用这个方法就可以了 你这个是HTML文件吗?如果这样你就只能再加个一般处理程序,动态生成需要绑定数据的标签 不是html,是aspx,但是这个系统已经把所有都封装好了,我看不到源代码,所以只能写在页面。 页面中也能写代码啊。<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load(object sender, EventArgs e) { System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser"); System.Data.DataRow dr; dataTable1.Columns.Add(new System.Data.DataColumn("Type", typeof(System.String))); dataTable1.Columns.Add(new System.Data.DataColumn("Count1", typeof(System.Int32))); dataTable1.Columns.Add(new System.Data.DataColumn("Count2", typeof(System.Int32))); Random r = new Random(); for (int i = 0; i < 8; i++) { dr = dataTable1.NewRow(); if (i < 8) dr[0] = "C"; if (i < 6) dr[0] = "B"; if (i < 3) dr[0] = "A"; dr[1] = r.Next(0, 100); dr[2] = r.Next(0, 100); dataTable1.Rows.Add(dr); } System.Data.DataView dv = dataTable1.DefaultView; System.Data.DataTable dataTable2 = dv.ToTable(true, "Type"); System.Data.DataTable dataTable3 = dataTable1.Clone(); int totalCount1 = 0, totalCount2 = 0; for (int i = 0; i < dataTable2.Rows.Count; i++) { String type = dataTable2.Rows[i][0].ToString(); System.Data.DataRow[] rs = dataTable1.Select("Type='" + type + "'"); int count1 = 0, count2 = 0; for (int j = 0; j < rs.Length; j++) { count1 += Convert.ToInt32(rs[j]["Count1"]); count2 += Convert.ToInt32(rs[j]["Count2"]); dataTable3.ImportRow(rs[j]); } dr = dataTable3.NewRow(); dr[0] = "合计"; dr[1] = count1; dr[2] = count2; totalCount1 += count1; totalCount2 += count2; dataTable3.Rows.Add(dr); } dr = dataTable3.NewRow(); dr[0] = "总合计"; dr[1] = totalCount1; dr[2] = totalCount2; dataTable3.Rows.Add(dr); this.GridView1.DataSource = dataTable3; this.GridView1.DataBind(); } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.Cells[0].Text.Trim().Equals("合计")) { e.Row.Style.Add("color", "#d00"); } else if (e.Row.Cells[0].Text.Trim().Equals("总合计")) { e.Row.Style.Add("color", "#00d"); e.Row.Style.Add("background", "#f33"); } }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"> </asp:GridView> </form></body></html> 本帖最后由 net_lover 于 2011-09-08 10:05:31 编辑 net_lover 能具体点麽? 就输出一条数据,显示在数据的详细页面,最好是后台代码能写在<body>内部的 大家好,我想问一下Visual Studio2010怎么支持shtml的调试啊? JSON序列化和实体类[Serializable]冲突的问题 有人做过论坛吗?这里有个问题 数据库中的图片无法显示 调用App_Code文件夹下面的类的奇怪问题? ASP 删除session信息 请问关于VS2005里加密解密的问题 在线急,在datagrid中添加其他控件 请各位高手们帮我解决这个问题 急问,password模式的文本框为什么不能设置text? 依然 UpdatePanel ~~ 大家一起来研究啦~ 大家帮忙看个T-SQL语句问题?
Text = '<%# method(Eval("field").ToString()) %>'后台
private string method(string par)
{
//自己看着写
}
现在我需要在页面循环判断这些字段的值是否为空,把不为空的输出。求代码。。
for(int i=0;i<10;i++)
{
%><%#Eval("pa_image"+i).ToString()!=""?path+=..... :""%><%}%>
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS1040: 预处理器指令必须作为一行的第一个非空白字符出现源错误: 行 23: %>
行 24:
行 25: <%#Eval("pa_image"+i).ToString()!=""?path+=<%#Eval("pa_image"+i).ToString() :""%>行 26:
行 27: <%}%> </tr>
还是不行。红色报错
for()
{
%>
Eval(xxx)
<%
}这种写法是错误的,根本是不支持的Eval只能使用在数据控件中!!!
for (int i = 0; i < GridViewl.Rows.Count; i++)
{
.....
}
protect bool ISImgNull(int i)
{
if(.....)
{
return true;
}
else
{
return false;
}
在前台
调用这个方法就可以了
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
System.Data.DataRow dr; dataTable1.Columns.Add(new System.Data.DataColumn("Type", typeof(System.String)));
dataTable1.Columns.Add(new System.Data.DataColumn("Count1", typeof(System.Int32)));
dataTable1.Columns.Add(new System.Data.DataColumn("Count2", typeof(System.Int32)));
Random r = new Random();
for (int i = 0; i < 8; i++)
{
dr = dataTable1.NewRow(); if (i < 8) dr[0] = "C";
if (i < 6) dr[0] = "B";
if (i < 3) dr[0] = "A"; dr[1] = r.Next(0, 100);
dr[2] = r.Next(0, 100);
dataTable1.Rows.Add(dr);
} System.Data.DataView dv = dataTable1.DefaultView;
System.Data.DataTable dataTable2 = dv.ToTable(true, "Type");
System.Data.DataTable dataTable3 = dataTable1.Clone();
int totalCount1 = 0, totalCount2 = 0;
for (int i = 0; i < dataTable2.Rows.Count; i++)
{
String type = dataTable2.Rows[i][0].ToString();
System.Data.DataRow[] rs = dataTable1.Select("Type='" + type + "'");
int count1 = 0, count2 = 0; for (int j = 0; j < rs.Length; j++)
{
count1 += Convert.ToInt32(rs[j]["Count1"]);
count2 += Convert.ToInt32(rs[j]["Count2"]);
dataTable3.ImportRow(rs[j]);
}
dr = dataTable3.NewRow();
dr[0] = "合计";
dr[1] = count1;
dr[2] = count2;
totalCount1 += count1;
totalCount2 += count2;
dataTable3.Rows.Add(dr);
}
dr = dataTable3.NewRow();
dr[0] = "总合计";
dr[1] = totalCount1;
dr[2] = totalCount2;
dataTable3.Rows.Add(dr); this.GridView1.DataSource = dataTable3;
this.GridView1.DataBind();
} protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells[0].Text.Trim().Equals("合计"))
{
e.Row.Style.Add("color", "#d00");
}
else if (e.Row.Cells[0].Text.Trim().Equals("总合计"))
{
e.Row.Style.Add("color", "#00d");
e.Row.Style.Add("background", "#f33");
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
</asp:GridView>
</form>
</body>
</html>