日期:2014-05-18  浏览次数:20461 次

GridView中HyperLinkField如何绑定到页面文本框?
页面结构是这样的(只写必要的):

HTML code

<asp:Table id="table1">
  <asp:TableRow><asp:TableCell><asp:TextBox id="txtDateFrom"/></asp:TableCell></asp:TableRow>
  <asp:TableRow><asp:TableCell><asp:TextBox id="txtDateTo"/></asp:TableCell></asp:TableRow>
</asp:Table>
<asp:SqlDataSource ID="dsTotal"/>
<asp:GridView id="gvTotal" DataSourceID="dsTotal">
   <Columns>
     <asp:HyperLinkField DataNavigateUrlFormatString="ProductTotal.aspx?id={0}&fromdate=<%#txtDateFrom.Text%>&todate=#txtDateTo.Text%>" />
  </Columns>
</asp:GridView>



如代码所示,我想把HyperLinkField的DataNavigateUrlFormatString绑定到页面中文本框。按照代码所写运行不正确,请问正确的做是什么?谢谢!

------解决方案--------------------
<asp:HyperLinkField DataNavigateUrlFormatString="ProductTotal.aspx?id={0}&fromdate=<%=txtDateFrom.Text%>&todate=<%=txtDateTo.Text%>" />

或者
<a href='ProductTotal.aspx?id=<%#Eval("字段")%>&fromdate=<%=txtDateFrom.Text%>&todate=<%=txtDateTo.Text%>'><%#Eval("标题字段")%></a>

或者
<a href='ProductTotal.aspx?id=<%#Eval("字段")%>&fromdate=<%=得到的关键字变量名称%>&todate=<%=得到的关键字变量名称%>'><%#Eval("标题字段")%></a>

------解决方案--------------------
改成这样:
HTML code

<asp:GridView id="gvTotal" DataSourceID="dsTotal" runat="server">
           <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <a href="ProductTotal.aspx?id={0}&fromdate=<%=txtDateFrom.Text%>&todate=<%=txtDateTo.Text%>">产品</a>
                </ItemTemplate>
            </asp:TemplateField>
          </Columns>
        </asp:GridView>