|
<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> 当我点击“设计”想转到设计模式时,就弹出一个提示框,内容为“未能在“设计”视图中打开。在"<%..."值"...%>"块中,以不同方式将值括起来” 请问高手是怎么回事啊。 |
|
|
|
<a href="package_upt.aspx?id=<%# DataBinder.Eval(Container.DataItem,"公司名称") %>">不正确,要使用服务器段控件才可以进行数据邦定,你把你的href删掉,然后在同样为只添加一个服务器端的HyperLink就可以了。
|
|
|
请楼上交我怎么写,我实在是菜鸟。
|
|
|
<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> |
|
|
<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> |
|
|
楼上你写的有问题,为什么我Request["id"]后,得到的是<%呢?
|
|
|
那你在cs文件里面指定HyperLink1的NavigateUrl好了,那样不会有问题的!
this.HyperLink1.NavigateUrl="package_upt.aspx?id="+公司名称的那个字段的值; |
|
|
不行啊,关键是我这个是动态的,如何那样设置不就成静态的了。
|
|
|
这样也可以:
<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/> |
|
|
也可以:
<%# DataBinder.Eval(Container.DataItem,"fname", "<a href=\"package_upt.aspx?id={0}\">")%> <%# DataBinder.Eval(Container.DataItem,"lname", "{0}</a>")%> 凡是有html语言元素的绑定,都可以这样。主要是注意第三个参数,是格式化字符串,绑定的时候根据这个格式来生成绑定的最终数据。 |
|
|
请问楼上的id={0}是什么意思啊?
|
|
|
出来的效果是:
<a href="package_upt.aspx?id=公司名称>公司名称</a> {0}在格式化时代表从数据库取出的数据。 |
|
|
你这个例子,可以不用模板列,
|
|