Я обычно не тот, кто задает вопросы, но мне интересно видеть разные идеи. У меня есть приложение webforms, которое я ищу для динамического заполнения текстовых полей на основе результатов запроса. В основном, если я запрашиваю ниже:
SELECT Product_Field_ID, Product_ID, SortOrder, Name, Type FROM Product WHERE product_id = 100
Я бы получил таблицу результатов следующим образом:
Я бы добавил это в интерфейс данных или IEnumerable, а затем перебрал бы для каждого списка, динамически создавая элементы управления.
Для целей этого вопроса я бы использовал что-то вроде следующего:
int a;
for (a = 0; a < dt.Rows.Count; a++)
{
Label Label = new Label();
Label.ID = "LabelFortxt" + dt.Rows[a]["Name"].ToString();
TextBox Text = new TextBox();
Text.ID = "txt" + dt.Rows[a]["Name"].ToString();
//Placeholder on the aspx page
PlaceHolderControls.Controls.Add(Label);
PlaceHolderControls.Controls.Add(Text);
}
Мой план состоит в том, чтобы либо заполнить данные, если они требуются, либо пользователь заполнил бы информацию, прежде чем отправить ее обратно в базу данных. Для этого я бы использовал хранимую процедуру с параметрами, добавленными с использованием предыдущей таблицы данных, которую я бы оставил активной в ViewState или Session. Я застрял с нижеследующим, когда дело доходит до добавления информации обратно в базу данных:
int a;
for (a = 0; a < dt.Rows.Count; a++)
{
Control dynamiccontrolname = dt.Rows[0]["Name"].ToString();
cmd.Parameters.AddWithValue(dt.Rows[0]["Name"].ToString(), "txt" + dynamiccontrolname.Text
}
Я помню, что мог ссылаться на элемент управления, используя переменную, но я не могу понять это. Кроме того, прежде чем я действительно начну с этим, я хотел бы услышать различные мнения или лучшие подходы, надеюсь, даже хороший подход к получению данных обратно в базу данных. (в настоящее время я думаю о динамическом построении запроса с использованием параметров, отправляемых приложением.)
ОБНОВЛЕНИЕ: Если это поможет более подробно объяснить мои требования, то для разных типов продуктов требуется разный сбор данных, и я не могу позволить себе жесткий код на основе категории или типа продукта, поэтому я намерен позволить пользователю указывать поля данных при создании продукта / категория. Это немного сделано. Когда пользователь сканирует продукт, появляется экран ввода данных, и соответствующие поля динамически создаются в пользовательском интерфейсе. У меня все это работает. Теперь мне просто нужно знать, как я могу получить доступ к элементам управления, чтобы либо заполнить любые существующие данные, либо извлечь любые введенные данные и затем сохранить их в базе данных.