如下,我在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怎么调出outlook发邮件窗口并把收件人填写
- 做个设备处置的小系统,分一级处置和二级处置,他们都是用GridView显示
- 玩转DropDownList,各位牛人进来看看你们这样做过吗?
- 是不是模板页的内容页里的内容 控件里不能用无刷新?
- 使用CascadingDropDown,当接收WebService中的返回值过大时出错...
- 这种程序是否好?老大说这程序有点像asp
- asp.net里边用cookies的问题
- 对datagrid编辑状态时,textbox校验的超难问题!!!这种校验难道实现不了???
- 关于天地伟业网络视频Swallow.cab二次开发的问题请教大家
- 很久没来这里了,发现热心的人依然很多,散点分犒劳一下大家
- 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来修改源文件??