我正在使用 SQL Server 2008 R2 和 VS2010 C# ASP.NET 4
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# 代码。