我有一个sqldatasource,它有一个非常简单的select语句,应该总是返回一行。我在我想用数据源中的数据填充的页面上有文本框。我怎么能这样做文本框?如果数据库中没有数据,那么我希望文本框保持空白。我怎样才能做到这一点?从sql数据源获取数据到asp.net控件
<asp:Panel ID = "Panel2" runat="server" DefaultButton = "save" >
<fieldset style="width: 524px"><legend>Rouse InterChange Details</legend>
<asp:FormView runat="server" ID="MyFormView" DataSourceID="SqlDataSource3" DefaultMode="Edit">
<ItemTemplate >
<table>
<tr>
<td align="right">Interchange ID:</td>
<td align="left">
<asp:TextBox ID="txtIntID" runat="server" size="1" MaxLength = "2" Text='<%# Bind("Interchange_Id") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator8" ValidationGroup = "rouse" Display ="None" ControlToValidate = "txtIntID" runat="server" ErrorMessage="You Must Provide an Interchange ID."> </asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender11" TargetControlID="RequiredFieldValidator8" HighlightCssClass="validatorCalloutHighlight" runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td align="right">Sender ID:</td>
<td align="left">
<asp:TextBox ID="txtsender" runat="server" MaxLength = "15" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" ValidationGroup = "rouse" Display ="None" ControlToValidate = "txtsender" runat="server" ErrorMessage="You Must Provide a Sender ID."> </asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="vce12" TargetControlID="RequiredFieldValidator9" HighlightCssClass="validatorCalloutHighlight" runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td align="right">Interchange Standard ID:</td>
<td align="left">
<asp:TextBox ID="ISI" runat="server" size="1" MaxLength = "1" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator10" ValidationGroup = "rouse" Display ="None" ControlToValidate = "ISI" runat="server" ErrorMessage="You Must Provide an Interchange Standard ID."> </asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender12" TargetControlID="RequiredFieldValidator10" HighlightCssClass="validatorCalloutHighlight" runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td align="right">Version:</td>
<td align="left">
<asp:TextBox ID="Verstxt" runat="server" size="5" MaxLength = "5" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator11" ValidationGroup = "rouse" Display ="None" ControlToValidate = "Verstxt" runat="server" ErrorMessage="You Must Provide a Version."> </asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender13" TargetControlID="RequiredFieldValidator11" HighlightCssClass="validatorCalloutHighlight" runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td align="right">Functional ID:</td>
<td align="left">
<asp:TextBox ID="FuncID" runat="server" size="1" MaxLength = "2" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator12" ValidationGroup = "rouse" Display ="None" ControlToValidate = "FuncID" runat="server" ErrorMessage="You Must Provide a Functional ID."> </asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender14" TargetControlID="RequiredFieldValidator12" HighlightCssClass="validatorCalloutHighlight" runat="server">
</ajaxToolkit:ValidatorCalloutExtender>
</td>
</tr>
<tr style="display:none">
<td align="right">Group Control #</td>
<td align="left">
<asp:TextBox ID="txtGroupcontrol" runat="server" size="6" MaxLength = "9" ></asp:TextBox>
</td>
</tr>
</table>
</ItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="connectionstring"
SelectCommand="select * from table1 "></asp:SqlDataSource>
</fieldset></asp:Panel>
我喜欢你要去的地方,但我不再看到我的文本框。我编辑了我的代码...你能看到我做错了什么吗? – Eric 2009-08-31 14:54:18
没关系斯科特。我的问题是默认模式被设置为'编辑'。任何想法为什么这是我的问题?我不希望它成为默认值吗? – Eric 2009-08-31 14:56:52
对不起 - 我没有想到 - 你想使用EditItemTemplate而不是ItemTemplate。我会更新我的样本... – 2009-08-31 15:10:41