(C#)根据每一行绑定的id输出文件到datalist的指定位置

chenxiaoping_2009 2009-08-20 07:37:22
输出文件到指定位置 我的文件 是html文件
输出文件到 datalist 的指定位置
我只能在每一行输出相同的文件我想 在每一行都要输出不同的文件 该文件是根据每一行绑定的一个id来输出不同的文件

比如:我在 datalist 的项模板放了以个一行一列的表格 在第一列放一个 Label 第二列放上<div></div>标签
想实现初始化页面的时候 Label 绑定 id 的同时第二列的<div></div>里输出一个 html 文件
第二列的<div></div>里输出的文件要以 id 相对应

怎么实现啊 这个问题困了我好几天了 那位 帮帮忙..
...全文
181 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
怎么没人来看看啊 ............
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
我的是这样的...
<asp:DataList ID="DataList1" runat="server" RepeatColumns="1" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<table style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid;
border-bottom: gray 1px solid">
<tr>
<td style="width: 100px; height: 244px" valign="top">
<table >
<tr>
<td style="width: 100px; " valign="top">
<div class="lt-zl_2" >
<asp:Image ID="Image1" runat="server" Height="78px" Width="80px" /> <br />
<asp:LinkButton ID="lkbtnRname" runat="server" ForeColor="Black" Text='<%# Eval("reply_username") %>'></asp:LinkButton><br />
<asp:Label ID="lbRurl" runat="server" Text='<%# Eval("reply_content") %>' Visible="false"></asp:Label>
<br />
<asp:Label ID="lbid" runat="server" Text='<%# Eval("reply_id") %>'></asp:Label></div>
</td>
</tr>
</table>
</td>
<td style="width: 100px; height: 244px; border-left: gray 1px solid;" valign="top">
<div class="lt-zr_2">
<%# Eval("reply_content")%>
<%

Response.ContentType = "text/HTML";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.WriteFile("文件地址");


%>

</div>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>

<%

Response.ContentType = "text/HTML";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.WriteFile("文件地址");


%> 要是 Response.WriteFile("文件地址")中的"文件地址" 能得到绑定的数据<%# Eval("reply_content")%>就好了
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
我的数据库里就只放了html文件的地址....
bottlerun 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 chenxiaoping_2009 的回复:]
问题是急需用啊..
[/Quote]
是啊,参照我上面的方法你直接用就可以啦
在绑定之前获取html内容放入数据源里面,然后绑定,不就显示出来了
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
问题是急需用啊..
bottlerun 2009-08-21
  • 打赏
  • 举报
回复
哦 不好意思,上面看错问题回错贴了。。。。。。
为什么CSDN不提供编辑的功能呢,真郁闷

当然可以 我测试通过发法出来的
bottlerun 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 chenxiaoping_2009 的回复:]
我是初学者  AJAX 不懂...
protected void Page_Load(object sender, EventArgs e)
    {
        Hashtable ht = new Hashtable();
        ht["http://www.baidu.com"] = GetDataById("http://www.baidu.com");
        ht["http://www.google.cn"] = GetDataById("http://www.google.cn");
        DataList1.DataSource = ht;
        DataList1.DataBind();
    }
能得到....?
各位大侠帮帮忙.....谢谢了
[/Quote]
如果你不会AJAX那就不用做这么复杂的功能了
要么你AJAX控件来做,要么就定时刷新页面吧
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
我是初学者 AJAX 不懂...
protected void Page_Load(object sender, EventArgs e)
{
Hashtable ht = new Hashtable();
ht["http://www.baidu.com"] = GetDataById("http://www.baidu.com");
ht["http://www.google.cn"] = GetDataById("http://www.google.cn");
DataList1.DataSource = ht;
DataList1.DataBind();
}
能得到....?
各位大侠帮帮忙.....谢谢了
bottlerun 2009-08-21
  • 打赏
  • 举报
回复
using System.Collections;
using System.Net;
using System.IO;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Hashtable ht = new Hashtable();
ht["http://www.baidu.com"] = GetDataById("http://www.baidu.com");
ht["http://www.google.cn"] = GetDataById("http://www.google.cn");
DataList1.DataSource = ht;
DataList1.DataBind();
}
protected string GetDataById(string id)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(id);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
string strResult = streamReader.ReadToEnd();
streamReader.Close();
return strResult;
}
你可以参考一下这个吧,在绑定之前就把数据抓过来放进DataSource里面
而如果你抓本地的html文件可以重写一下GetDataById方法的内容就可以了
其实我是建议你换个方法,写JS脚本来完成,等用户加载好页面以后再通过运行AJAX去获取内容
然后再填充到指定的div里面,这样可以减轻你服务器的负担
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
朋友们多多的提示下 或 给个列子 谢谢了...
sxmonsy 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 knight94 的回复:]
先对数据进行处理,形成合理的数据后,再去绑定。
[/Quote]
友情UP一下
IHandler 2009-08-21
  • 打赏
  • 举报
回复
在ItemDataBound中处理,把HTML文件转换为HTML代码字符串,给div的innerHTML属性赋值
ghzzs 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ghzzs 的回复:]
可以尝试在RowCreated事件里做。注意e.Row.RowType。

[/Quote]
更正一下是RowDataBound
ghzzs 2009-08-21
  • 打赏
  • 举报
回复
可以尝试在RowCreated事件里做。注意e.Row.RowType。
happy664618843 2009-08-21
  • 打赏
  • 举报
回复
顶顶!!
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
JavaScript不是很会...
  • 打赏
  • 举报
回复
看来datalist 里要加JavaScript了
chenxiaoping_2009 2009-08-20
  • 打赏
  • 举报
回复
自己顶下...
chenxiaoping_2009 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 knight94 的回复:]
绑定的数据是按照一定的顺序排列的,因此你需要怎么排列你的数据,就先处理数据
例如:
如需要把第一行和第二行的数据进行合并,想把绑定的datatable第一行和第二行进行merge即可

[/Quote]
我问的是怎么更具第一咧的值 在第二列显示出相应的html文件来 我用的是Response.WriteFile();与你所说的有多大关系我不清楚
详细点可以不.....
Knight94 2009-08-20
  • 打赏
  • 举报
回复
绑定的数据是按照一定的顺序排列的,因此你需要怎么排列你的数据,就先处理数据
例如:
如需要把第一行和第二行的数据进行合并,想把绑定的datatable第一行和第二行进行merge即可
加载更多回复(3)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧