我在用于插入多个用户输入字段的页面上有详细信息视图,但我还希望根据现有用户数据自动输入一些字段。我已经将ASPNETDB数据库集成到我的网络应用程序中并正在使用它。
我希望能够拉出当前登录的用户,并在使用插入按钮时自动将该信息插入列表用户行,并且最好使该字段对用户隐藏。
以下是我的代码;
<asp:DetailsView ID="dv_insert" runat="server" AutoGenerateRows="False"
DataKeyNames="listingID" DataSourceID="SDS_createlisting" DefaultMode="Insert"
Height="50px" Width="125px">
<Fields>
<asp:BoundField DataField="listingID" HeaderText="listingID"
InsertVisible="False" ReadOnly="True" SortExpression="listingID" />
<asp:BoundField DataField="listingtitle" HeaderText="listingtitle"
SortExpression="listingtitle" />
<asp:BoundField DataField="listingdescription" HeaderText="listingdescription"
SortExpression="listingdescription" />
<asp:BoundField DataField="listinguser" HeaderText="listinguser"
SortExpression="listinguser" ReadOnly="True" Visible="False" />
<asp:BoundField DataField="subcategoryname" HeaderText="subcategoryname"
ReadOnly="True" SortExpression="subcategoryname" Visible="False" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<br />
<br />
<asp:SqlDataSource ID="SDS_createlisting" runat="server"
ConnectionString="<%$ ConnectionStrings:ListingDataConnectionString %>"
DeleteCommand="DELETE FROM [tbl_listing] WHERE [listingID] = @listingID"
InsertCommand="INSERT INTO [tbl_listing] ([listingtitle], [listingdescription], [listinguser], [subcategoryname]) VALUES (@listingtitle, @listingdescription, @listinguser, @subcategoryname)"
SelectCommand="SELECT * FROM [tbl_listing] WHERE ([subcategoryname] = @subcategoryname)"
UpdateCommand="UPDATE [tbl_listing] SET [listingtitle] = @listingtitle, [listingdescription] = @listingdescription, [listinguser] = @listinguser, [subcategoryname] = @subcategoryname WHERE [listingID] = @listingID">
<DeleteParameters>
<asp:Parameter Name="listingID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="listingtitle" Type="String" />
<asp:Parameter Name="listingdescription" Type="String" />
<asp:Parameter Name="listinguser" Type="String" />
<asp:QueryStringParameter Name="subcategoryname" QueryStringField ="subcategoryname" />
</InsertParameters>
<SelectParameters>
<asp:QueryStringParameter Name="subcategoryname"
QueryStringField="subcategoryname" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="listingtitle" Type="String" />
<asp:Parameter Name="listingdescription" Type="String" />
<asp:Parameter Name="listinguser" Type="String" />
<asp:Parameter Name="subcategoryname" Type="String" />
<asp:Parameter Name="listingID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
和C#组件
protected void dv_insert_ItemInserting(object sender, FormViewInsertEventArgs e)
{
e.Values["listinguser"] = User.Identity.Name;
}