1:<a href="SIYWPF.aspx?SICode=<%=SICode%>&SIName=<%=SIName%>">业务评分</a>
  <asp:Button ID="btnYWPF" runat="server" Text="业务评分" OnClientClick="Window.open('SIYWPF.aspx?SICode=<%=SICode%>&SIName=<%=SIName%>')"/>  一个是超链接,一个是按钮 为啥 <%=SICode%> 按钮取不到值。2:<asp:GridView ID="gvwProcess" >  
<Columns>
        <asp:BoundField DataField="InstanceID" HeaderText="工单ID" />
        <asp:BoundField DataField="AllDepartment" HeaderText="部门信息" />
        <asp:BoundField DataField="AllUserName" HeaderText="处理人姓名" />
        <asp:BoundField DataField="ExecuteMessage" HeaderText="处理意见" />
        <asp:TemplateField HeaderText="附件" >
            <ItemTemplate> <% if (isProcessExisFile(Eval("InstanceID").toString())){%>  <!--这个 isProcessExisFile 是我在代码中写的一个函数,需要传递一个参数-->                <a href="#" onclick="WindowShow('DownLoadFile.aspx?ObjectID=<%=ObjectID %>',800,500)">附件
                </a>&nbsp;&nbsp; <%}%>
            </ItemTemplate>    
        </asp:TemplateField>
        
    </Columns>
</asp:GridView> 我这段代码的目的就是,去判断明细表是否有数据,如果有就显示 附件 2个字,打开下载页面供下载,没有就不用显示 附件 2个字。但是我搞不懂为啥 <a> 能取到值, 而在 <%%> 取不到值。

解决方案 »

  1.   

    <%=SICode%> &SIName= <%=SIName%> 这两个值是在!ispostback判断里面获取的值吗?
      

  2.   

    超链接<a href...></a>是用在aspx页面的,因此可以用<%= %>来获取值;
    asp:Button以及asp:GridView是用在aspx.cs文件,是c#的语法,所以<%= %>取不到值。
      

  3.   

    =============To: xierfly <%=SICode%><%=SIName%>   这2个我在 cs 文件赋值了的protected string SICode = "";
    protected string SIName = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        SICode="123";
        SIName="测试"; 
    }============To:youth0826 
    说的好像有点道理,茅塞顿开,但是我这2个需求该怎么解决呢?谢谢
      

  4.   

    我总觉得页面用多了<%=%>不好。可改为其他控件的。
      

  5.   

    <%# SICode %>
    <%# ObjectID %>