我有一個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