Вы можете создать пользовательские параметры, например, так
http://fredrik.nsquared2.com/viewpost.aspx?PostID=355
но может быть проще сделать следующее:
Мы добавляем событие выбора в источник данных, который будет извлекать открытое свойство из пользовательского элемента управления и устанавливать его в качестве параметра. Открытое свойство пользовательского элемента управления извлекает значение некоторого веб-элемента управления, такого как текстовое поле, и представляет его как свойство.
С учетом следующего SqlDataSource
<asp:sqlDataSource ID="EmployeeDetailsSqlDataSource"
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees WHERE EmployeeID = @EmpID"
<SelectParameters>
<asp:Parameter Name="EmpID" Type="Int32" DefaultValue="0" />
</SelectParameters>
</asp:sqlDataSource>
Мы добавляем выбранное событие примерно так
protected void EmployeeDetailsSqlDataSource_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
e.Command.Parameters["@EmpID"].Value = MyUserControl.EmpID;
}
UserControl имеет такое свойство:
public int EmployeeID {
get {
return Convert.ToInt32(TextBox1.Text);
}
}
Где TextBox1 - это то, где пользователь вводит идентификатор сотрудника. Вы также можете использовать ViewState для хранения свойства EmployeeId на тот случай, если вы захотите сохранить его после обратной передачи (в зависимости от вашего сценария).