超级“奇怪”的问题,请高手帮忙

nescafe8 2003-10-15 11:59:18
我用C#写一个web程序,下面是我在html中添的一段代码:
<asp:TemplateColumn HeaderText="asdf">
<ItemTemplate>
<a href="package_upt.aspx?id=<%# DataBinder.Eval(Container.DataItem,"公司名称") %>"><asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"公司名称") %>' ID="Label1">
</asp:Label></a>
</ItemTemplate>
</asp:TemplateColumn>
当我点击“设计”想转到设计模式时,就弹出一个提示框,内容为“未能在“设计”视图中打开。在"<%..."值"...%>"块中,以不同方式将值括起来”

请问高手是怎么回事啊。
...全文
24 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm97 2003-10-15
  • 打赏
  • 举报
回复
<asp:TemplateColumn HeaderText="asdf">
<ItemTemplate>
<asp:hyperlink id="HyperLink1" Text='<%# DataBinder.Eval(Container.DataItem,"公司名称") %>' NavigateUrl='package_upt.aspx?id=<%# DataBinder.Eval(Container.DataItem,"公司名称") %>>'
runat="server"></asp:hyperlink> </ItemTemplate>
</asp:TemplateColumn>
storm97 2003-10-15
  • 打赏
  • 举报
回复
<asp:TemplateColumn HeaderText="asdf">
<ItemTemplate>
<asp:hyperlink id="HyperLink1" Text='<%# DataBinder.Eval(Container.DataItem,"公司名称") %>' NavigateUrl='package_upt.aspx?id=<%# DataBinder.Eval(Container.DataItem,"公司名称") %>>'
runat="server"></asp:hyperlink> </asp:Label></a>
</ItemTemplate>
</asp:TemplateColumn>
nescafe8 2003-10-15
  • 打赏
  • 举报
回复
请楼上交我怎么写,我实在是菜鸟。
storm97 2003-10-15
  • 打赏
  • 举报
回复
<a href="package_upt.aspx?id=<%# DataBinder.Eval(Container.DataItem,"公司名称") %>">不正确,要使用服务器段控件才可以进行数据邦定,你把你的href删掉,然后在同样为只添加一个服务器端的HyperLink就可以了。
lansingcy 2003-10-15
  • 打赏
  • 举报
回复
你这个例子,可以不用模板列,
xixigongzhu 2003-10-15
  • 打赏
  • 举报
回复
出来的效果是:
<a href="package_upt.aspx?id=公司名称>公司名称</a>

{0}在格式化时代表从数据库取出的数据。
nescafe8 2003-10-15
  • 打赏
  • 举报
回复
请问楼上的id={0}是什么意思啊?
xixigongzhu 2003-10-15
  • 打赏
  • 举报
回复
也可以:
<%# DataBinder.Eval(Container.DataItem,"fname", "<a href=\"package_upt.aspx?id={0}\">")%>
<%# DataBinder.Eval(Container.DataItem,"lname", "{0}</a>")%>

凡是有html语言元素的绑定,都可以这样。主要是注意第三个参数,是格式化字符串,绑定的时候根据这个格式来生成绑定的最终数据。
xixigongzhu 2003-10-15
  • 打赏
  • 举报
回复
这样也可以:
<asp:Label id="l1" Text='<%# DataBinder.Eval(Container.DataItem,"fname", "<a href=\"package_upt.aspx?id={0}\">")%> ' runat=server/>
<asp:Label id="l2" Text='<%# DataBinder.Eval(Container.DataItem,"lname", "{0}</a>")%> ' runat=server/>
nescafe8 2003-10-15
  • 打赏
  • 举报
回复
不行啊,关键是我这个是动态的,如何那样设置不就成静态的了。
storm97 2003-10-15
  • 打赏
  • 举报
回复
那你在cs文件里面指定HyperLink1的NavigateUrl好了,那样不会有问题的!
this.HyperLink1.NavigateUrl="package_upt.aspx?id="+公司名称的那个字段的值;
nescafe8 2003-10-15
  • 打赏
  • 举报
回复
楼上你写的有问题,为什么我Request["id"]后,得到的是<%呢?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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