日期:2014-05-19  浏览次数:20410 次

<asp:TextBox ... text='<%#Eval("clie_chname") %>' ...>为什么不能显示那个字段的值。
<asp:AccessDataSource   ID= "clie_name "   runat= "server "   DataFile= "E:\DB\ESUN.mdb "   SelectCommand= "SELECT   [clie_chname],   [clie_id]   FROM   [Client_qry]   WHERE   ([clie_id]   =   ?) ">
<SelectParameters>
      <asp:QueryStringParameter   Name= "clie_id "   QueryStringField= "clie_id "   Type= "Int32 "   />
  </SelectParameters>
</asp:AccessDataSource>

<asp:TextBox   ID= "TextBox1 "   text= ' <%#Eval( "clie_chname ")   %> '     runat= "server "   Visible= "true "> </asp:TextBox>
另外把clie_id放在了一个隐藏域中。

为什么运行的时候,文本框里没有值。

我试过用listbox的, <asp:ListBox   ID= "ListBox1 "   runat= "server "   DataSourceID= "clie_name "   DataTextField= "clie_chname "   DataValueField= "clie_id "   Rows= "1 "/>
这样虽然成功,但是我需要文本框,因为它没有那个下拉箭头,比较美观。

------解决方案--------------------
没有数据绑定,要把textbox放在一个数据控件中,比如datalist
<asp:DataList ID= "DataList1 " runat= "server " >
<ItemTemplate>
<asp:TextBox ID= "TextBox1 " runat= "server " Text= ' <%# Eval( "text ") %> '> </asp:TextBox>
</ItemTemplate>
</asp:DataList>
后台
DataList1.DataSourceID= "clie_name ";
DataList1.DataBind();


------解决方案--------------------
后台的datasourceId就直接放到datalist里吧。
<asp ataList ID= "DataList1 " runat= "server " datasourceid= "clie_name ">
<ItemTemplate>
<asp:TextBox ID= "TextBox1 " runat= "server " Text= ' <%# Eval( "clie_chname ") %> '> </asp:TextBox>
</ItemTemplate>
</asp ataList>