客户端获取不到了服务端的值?
在一个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 %>