如下,我在reapter1控件中加入了<%=htmlCode%>,用于将读取的html代码读入 <asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<%=htmlCode%>
</ItemTemplate>
</asp:repeater>下面是读取文本文件中的html到变量htmlCode中的函数 private void readHtmlCode()
{
string filePath = Server.MapPath("~/appData/newsList.txt");
htmlCode = appCode.commonFunction.readTextFile(filePath);
this.Label1.Text = this.htmlCode.GetTypeCode().ToString();
}文本文件中的代码如下:<div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>然后我想通过后台编程,实现动态的控制reapter控件显示数据,下面是绑定代码 private void bindData()
{
if(sqlStr!="")
{
this.Label1.Text = this.sqlStr;
DataTable dt = appCode.execSQL.execSQLreader(this.sqlStr);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
}
}但是,数据根本就没有绑定上去,在源文件中只增加了下面的代码 <div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>
<div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>
<ItemTemplate>
<%=htmlCode%>
</ItemTemplate>
</asp:repeater>下面是读取文本文件中的html到变量htmlCode中的函数 private void readHtmlCode()
{
string filePath = Server.MapPath("~/appData/newsList.txt");
htmlCode = appCode.commonFunction.readTextFile(filePath);
this.Label1.Text = this.htmlCode.GetTypeCode().ToString();
}文本文件中的代码如下:<div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>然后我想通过后台编程,实现动态的控制reapter控件显示数据,下面是绑定代码 private void bindData()
{
if(sqlStr!="")
{
this.Label1.Text = this.sqlStr;
DataTable dt = appCode.execSQL.execSQLreader(this.sqlStr);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
}
}但是,数据根本就没有绑定上去,在源文件中只增加了下面的代码 <div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>
<div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>
解决方案 »
- asp.net URLRewriter url重写
- asp.net Response.end()的问题
- VS2008编译后严重错误只有描述,无法定位!
- 怎样在aspx页面中显示一个Image对象
- 我晕了!这怎么可能呢?
- 有关自定义复合控件状态问题
- 求方法:以web方式将数据文件(execl或者csv)导入数据库
- select count(*) into :aa from table1 怎么实现?
- 关于datagrid的问题???/
- 有关<Form action=""><input type="submit"><asp:button Onclick="">关注一下吧!多谢!
- UpdatePanel中怎样动态添加控件?
- 左侧导航设计 标题我也不知道如何取 大哥大姐帮帮忙
如果dt中有了数据,那就确保页面的html代码中<%#DataBinder.Eval(Container.DataItem,"adtel")%>
各个字段正确
<div>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</div>是要放到repeater1里面的
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%></ItemTemplate>
至于htmlCode 可以放到<HeaderTemplate></HeaderTemplate>里面
<HeaderTemplate
<%=htmlCode%>
</HeaderTemplate>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"adid")%>
<%#DataBinder.Eval(Container.DataItem,"adname")%>
<%#DataBinder.Eval(Container.DataItem,"adpwd")%>
<%#DataBinder.Eval(Container.DataItem,"adtel")%>
</ItemTemplate>
</asp:repeater>
已经是public了,要不然生成后的html源文件也就不会有html代码的增加了我想几位楼上的也许可能还没理解我的意思,平常我们如果使用repeater控件的话,每使用一个就必须拖一个repeater控件到页面上,然后加入相应的html代码,再进行后台编程
但是我觉得这样太麻烦了,所以我制作了一个web用户控件,里面有一个repeater控件,我通过使用<%=htmlCode%>变量可以将不同的html代码加入到reapter控件的html代码中,这样我编程时就可以选定不同显示方式,这样即增加了灵活性,也增加了代码了复用率
现在的情况是,这样直接在后台编写是否可行,还是必须通过StreamWriter来修改源文件??