Я создаю страницу для отображения GridView данных клиента с нумерацией страниц. Моя страница aspx имеет GridView, чей DataSourceID установлен в ObjectDataSource. ObjectDataSource связан с BLL, который, в свою очередь, обращается к данным через DAL. У меня все это работает и работает, указывая на статическую базу данных. Однако данные каждого клиента хранятся в его собственной базе данных. Следующим шагом является изменение ConnectionString DAL в зависимости от имени клиента.
Я настроил адаптер таблиц DAL с параметром ConnectionModifier, установленным в «Public». Мой BLL может изменить строку подключения DAL, однако я не знаю, как передать в BLL имя базы данных клиента.
public class PDFDocumentsBLL {
private PDFTableAdapter _pdfdocumentsadapter = null;
protected PDFTableAdapter Adapter {
get {
if ( _pdfdocumentsadapter == null ) {
_pdfdocumentsadapter = new PDFTableAdapter();
_pdfdocumentsadapter.Connection = new System.Data.SqlClient.SqlConnection(
ConfigurationManager.ConnectionStrings["template"].ConnectionString.Replace( "TEMPLATE", "TESTCLIENT" )
);
}
return _pdfdocumentsadapter;
}
}
...
}
Я хотел бы заменить строку «TESTCLIENT» в приведенном выше коде переменной, но я не знаю, как передать эту информацию в BLL.