<%# Eval()%> 问题

昵称90天内修改一次 2013-09-05 10:54:31
//后台代码
public static string PageList(string pics)
{
//返回的是根据pics动态生成的路径,这里写死了
return "www.163.com?id=" + pics;
}

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# PageList(Eval("pics").ToString()) %>'>HyperLink1</asp:HyperLink>

NavigateUrl='<%# PageList(Eval("pics").ToString()) %>'这里取不到值。
<%# PageList(Eval("pics").ToString()) %>不能作为标签属性值吗?
我该怎么解决。
...全文
333 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 14 楼 lifeilin6671 的回复:
服务器控件的属性中不能使用服务标签。也就是说你里面用<%%>这样的标签会编译错误。
温柔一击_H 2013-09-06
  • 打赏
  • 举报
回复
你确定后台的方法要用静态的? static
想名费脑 2013-09-06
  • 打赏
  • 举报
回复
代码没问题,加个http:// return "http://www.163.com?id=" + pics; 建议与.cs无关的就用html <asp:HyperLink>换成<a>
  • 打赏
  • 举报
回复
服务器控件的属性中不能使用服务标签。也就是说你里面用<%%>这样的标签会编译错误。
lhx527099095 2013-09-05
  • 打赏
  • 举报
回复


<asp:Repeater ID="test" runat=server>
        <ItemTemplate>
            <a href="<%# PageList(Eval("Name").ToString()) %>">link</a>
        </ItemTemplate>
    </asp:Repeater>

测试通过了啊 没有问题
lhx527099095 2013-09-05
  • 打赏
  • 举报
回复
sorry 盲打 没有测试 可能搞错了.... 还是#不是=
  • 打赏
  • 举报
回复
<form id="form1" runat="server">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%= PageList(Eval("pics").ToString()) %>'>HyperLink1</asp:HyperLink>
<br />
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="http://www.163.com">HyperLink2</asp:HyperLink>
<br />
<a href="<%# PageList(Eval("pics").ToString()) %>"></a>
</form>

生成后
白云任去留 2013-09-05
  • 打赏
  • 举报
回复
多年不用控件了,别被楼上误导,这是绑定数据,用#号别用=
  • 打赏
  • 举报
回复
<a href="<%# PageList(Eval("pics").ToString()) %>"></a> 服务端控件要在databound事件中赋值
白云任去留 2013-09-05
  • 打赏
  • 举报
回复
sorry,写有的有误,如下: <a href="<%# PageList(Eval("pics").ToString()) %>"></a>
  • 打赏
  • 举报
回复
引用 4 楼 fangxuan 的回复:
一个链接用服务器控件干啥咧 <a href="<%= PageList(Eval("pics").ToString()) %>"></a>
非服务器控件 能用eval吗? 不过大脑就往上写
  • 打赏
  • 举报
回复
引用 5 楼 lhx527099095 的回复:
[quote=引用 3 楼 foggy2330 的回复:] 换成=就变成
<a id="HyperLink1" href="<%=%20PageList(Eval("pics").ToString())%20%>">HyperLink1</a>
你这个是转义了html标签啊 你这个标签是怎么输出的? 直接写前台页面上的还是怎么写的。。。。[/quote] Default.aspx 里的 HyperLink1 标签 Default.aspx.cs里的 方法
lhx527099095 2013-09-05
  • 打赏
  • 举报
回复
引用 3 楼 foggy2330 的回复:
换成=就变成
<a id="HyperLink1" href="<%=%20PageList(Eval("pics").ToString())%20%>">HyperLink1</a>
你这个是转义了html标签啊 你这个标签是怎么输出的? 直接写前台页面上的还是怎么写的。。。。
白云任去留 2013-09-05
  • 打赏
  • 举报
回复
一个链接用服务器控件干啥咧 <a href="<%= PageList(Eval("pics").ToString()) %>"></a>
  • 打赏
  • 举报
回复
换成=就变成
<a id="HyperLink1" href="<%=%20PageList(Eval("pics").ToString())%20%>">HyperLink1</a>
夜色镇歌 2013-09-05
  • 打赏
  • 举报
回复
#号换成=号
lhx527099095 2013-09-05
  • 打赏
  • 举报
回复
<%= PageList(Eval("pics").ToString()) %> 换成等号
绿色123 2013-09-05
  • 打赏
  • 举报
回复
哥们你的写法是正确的,绑定数据要用#,赋值用=,遇到两个引号时一定要单双引号交替进行,楼上好多人都写错的,取不到值,你打断点调试下你的PageList方法,我看你的值应该是个网址,再检查下网址中有没有反斜线(\),如果有一定要转义
insus 2013-09-05
  • 打赏
  • 举报
回复
看看Insus.NET怎样去做数据绑定的? http://www.cnblogs.com/insus/archive/2013/04/26/3045046.html
白云任去留 2013-09-05
  • 打赏
  • 举报
回复
引用 7 楼 foggy2330 的回复:
[quote=引用 4 楼 fangxuan 的回复:] 一个链接用服务器控件干啥咧 <a href="<%# PageList(Eval("pics").ToString()) %>"></a>
非服务器控件 能用eval吗? 不过大脑就往上写[/quote] 汗,这个是放到数据绑定控件里的(repeater、datalist、gridview等)。 说的服务器控件是指你的HyperLink控件!!!

62,047

社区成员

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

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

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

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