For SqlDataSource I can configure the external source for the incoming paramater. For example it might be a QueryString, Session, Profile and so on. However I do not have an option to use User as a source.
I know that I could provide value for the parameter in Inserting,Selecting,Updating,Deleting events. But I do not think that this is an ellegant solution because I have some parameteres already definied in aspx file. I do not want to have parameters defined in two separate places. It makes mess.
So can I somehow define this parameter in .aspx file?
<SelectParameters>
<asp:QueryStringParameter DefaultValue="-1" Name="ID"
QueryStringField="ID" />
//User.Identity.Name goes here as a value for another parameter
</SelectParameters>
Declare it in your .aspx
and fill it in your codebehind:
aspx
<asp:Parameter Name="username" Type="String" DefaultValue="Anonymous" />
codebehind
protected void Page_Init(object sender, EventArgs e) {
DataSource.SelectParameters["username"].DefaultValue = User.Identity.Name;
}