读书人

客户端获取不到了服务端的值?该如何处

发布时间: 2012-01-29 21:39:32 作者: rapoo

客户端获取不到了服务端的值?
在一个UserControl(Header.ascx)中,有一排超链接,超链接的链接地址是由后台代码生成的,我是这样写的:
ascx:
<li>
<%# m_strUrlDownload %>
</li>
ascx.cs:
在page_load中调用SetUrl,m_strUrl已有初值
private void SetUrl()
{
m_strUrlDownload = m_strUrl + "/download ";
m_strUrlDownload = " <A href= ' " + m_strUrlDownload + " '> 下载 </A> ";
}
可是最后运行的时候,在网页中并未出现超链接,就是说 <%# m_strUrlDownload %> 这里没有任何反映。
我跟了一下,SetUrl是执行到了的,m_strUrlDownload也是正确赋值了的。
不知道为什么没有值?

[解决办法]
public string m_strUrlDownload= " ";
<%=m_strUrlDownload %>
[解决办法]
up
[解决办法]
如果想在前台调用后台的变量,那么这个变量的可访问性至少应该大于等于 protected
也就是说,在你的用户控件的CS 代码里应该这样定义:

protected string m_strUrlDownload = " ";

private void SetUrl()
{
m_strUrlDownload = m_strUrl + "/download ";
m_strUrlDownload = " <A href= ' " + m_strUrlDownload + " '> 下载 </A> ";
}
[解决办法]
<%= m_strUrlDownload %>
[解决办法]
用这样
<%=m_strUrlDownload %>

你那样是绑定 需要调用DataBind方法才行
[解决办法]
是不能使用 <%# m_strUrlDownload %> ,而要使用 <%= m_strUrlDownload %>

读书人网 >asp.net

热点推荐