我正在使用SQL Server 2008 R2和VS2010 C#ASP.NET 4是否有一個開關將SQL Server表的字段的默認值作爲FormView/DetailsView的TextBox的默認值?
FormView和DetailsView在插入模式下爲空文本框。
我希望這些TextBoxes能夠反映SQL Server上相應列的默認值的默認值。
有沒有簡單的方法來做到這一點?
編輯:(例子)
問題:
表:
CREATE TABLE [dbo].[SampleTable](
[PKColumn1] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
[IntColumn2] [int] NOT NULL DEFAULT (12),
[nvarcharColumn3] [nvarchar](50) NOT NULL DEFAULT (N'bla bla'),
[IntColumn4NoDefault] [int] NULL)
的ASPX標記:
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px"
AutoGenerateRows="False" DataKeyNames="PKColumn1" DataSourceID="SqlDataSource1"
DefaultMode="Insert">
<Fields>
<asp:BoundField DataField="PKColumn1" HeaderText="PKColumn1" InsertVisible="False" ReadOnly="True" SortExpression="PKColumn1" />
<asp:BoundField DataField="IntColumn2" HeaderText="IntColumn2" SortExpression="IntColumn2" />
<asp:BoundField DataField="nvarcharColumn3" HeaderText="nvarcharColumn3" SortExpression="nvarcharColumn3" />
<asp:BoundField DataField="IntColumn4NoDefault"
HeaderText="IntColumn4NoDefault" SortExpression="IntColumn4NoDefault" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:dbConnectionString %>"
InsertCommand="INSERT INTO [SampleTable] ([IntColumn2], [nvarcharColumn3], [IntColumn4NoDefault]) VALUES (@IntColumn2, @nvarcharColumn3, @IntColumn4NoDefault)"
SelectCommand="SELECT * FROM [SampleTable]">
<InsertParameters>
<asp:Parameter Name="IntColumn2" Type="Int32" />
<asp:Parameter Name="nvarcharColumn3" Type="String" />
<asp:Parameter Name="IntColumn4NoDefault" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>
沒有任何C#代碼背後。
它駐留在information_schema表中。我忘了哪一個 –