I have a little detailsview where i can add some data to my DB.
The detailsview's code:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataSourceID="orderSqlDataSource" DefaultMode="Insert" Height="50px"
Width="333px" DataKeyNames="ID" CellPadding="4" ForeColor="#333333"
GridLines="None" oniteminserted="DetailsView1_ItemInserted"
onprerender="DetailsView1_PreRender">
<CommandRowStyle BackColor="#E2DED6" Font-Bold="True" />
<EditRowStyle BackColor="#E9ECF1" />
<FieldHeaderStyle BackColor="#E9ECF1" Font-Bold="True" />
<Fields>
<asp:BoundField DataField="userid" HeaderText="Azonosító"
SortExpression="userid" ReadOnly="True" />
<asp:BoundField DataField="quantity" HeaderText="Mennyiség (kg)"
SortExpression="quantity" />
<asp:TemplateField HeaderText="Mit rendel" SortExpression="Mit rendel">
<InsertItemTemplate>
<asp:DropDownList ID="ordertypeDropDownList" runat="server"
DataSourceID="ordertypeDDLSqlDataSource" DataTextField="name"
DataSource='<%# Bind("ordertype") %>'
SelectedValue='<%# Bind("ordertype") %>'
DataValueField="ID">
</asp:DropDownList>
<asp:SqlDataSource ID="ordertypeDDLSqlDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:dotnetConnectionString %>"
SelectCommand="SELECT [name], [ID] FROM [product]"></asp:SqlDataSource>
</InsertItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="True" CancelText="Mégsem"
InsertText="Elküld" />
</Fields>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White"
HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
</asp:DetailsView>
Here is the code behind for the page_load event:
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated)
{
MembershipUser user = Membership.GetUser(User.Identity.Name);
string userID = user.ProviderUserKey.ToString();
((TextBox)DetailsView1.Rows[0].Cells[1].Controls[0]).Text = userID;
}
}
As you can see i fill the first boundfield from the page_load. The problem is that the first boundfield (userid, or in my native language "azonosító") is important because of the database, but i don't want to let the user see his/her userid. If i make the boundfield hidden (visible=false), it won't be reachable with the code in the page_load. How can i bound the current userID to that field, when the field is hidden, or how can i get this work without boundfield for the ID?
Thanks in advance!