Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 31.08.2009
Сообщений: 9
1

Ошибка при добавлении данных в DetailsView

04.12.2012, 19:41. Показов 1088. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет! Нужна помощь начинающему. У меня есть DetailsView для добавления данных в GridView. По умолчанию у него режим Insert. Также в этом DetailsView есть InsertItemTemplate c DropDownList.
Есть второй DetailsView, для добавления данных в свою очередь в тот DropDownList (получается что у них общий SqlDataSource)
Визуально они расположены в разных вкладках (TabPanels).
Так вот, когда я пытаюсь добавить новую запись во второй DetailsView (чтобы затем она появилась в DropDownList), то получаю следущее сообщение:

"Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control." With no source avallable

Вчера весь день читал, причина как-то связана с двунаправленным связыванием <%# Bind ... %> в DropDownList, но как это решить..


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<asp:DetailsView ID="DetailsViewAddUser" DataSourceID="SqlDataSourceUsers" DataKeyNames="Email"
                runat="server" DefaultMode="Insert" CellPadding="4" ForeColor="#333333" GridLines="None"
                AutoGenerateRows="False">
                <Fields>
                      ...
 
                     <asp:TemplateField HeaderText="Role">
                          <InsertItemTemplate>
                             <asp:DropDownList ID="DropDownListInsertRole" DataSourceID="SqlDataSourceRoles" DataTextField="Name"  DataValueField="Name" SelectedValue='<%# Bind("Role") %>'  runat="server" />
                          </InsertItemTemplate>
                      </asp:TemplateField>
                      <asp:CommandField ShowInsertButton="True" ShowCancelButton="True" />
                </Fields>
</asp:DetailsView>
 
<asp:DetailsView ID="DetailsViewAddRole"   DataSourceID="SqlDataSourceRoles" DataKeyNames="Name" runat="server" DefaultMode="Insert" CellPadding="4" AutoGenerateRows="False">
         <Fields>
             <asp:TemplateField HeaderText="Name">
                  <InsertItemTemplate>
                      <asp:TextBox ID="TextBoxInsertRole" runat="server" Text='<%# Bind("Name") %>' MaxLength="50"/>
                   </InsertItemTemplate>
              </asp:TemplateField>
              <asp:CommandField ShowInsertButton="True"/>
          </Fields>
</asp:DetailsView>
 
<asp:SqlDataSource ID="SqlDataSourceRoles" runat="server"
    ConnectionString="<%$ ConnectionStrings:ConnStringTest %>"
    ProviderName="System.Data.SqlClient"
    ConflictDetection="CompareAllValues" OldValuesParameterFormatString="original_{0}"
    SelectCommand="SELECT * FROM [Roles]"
    InsertCommand="INSERT INTO [Roles] ([Name]) VALUES (@Name)">
    <InsertParameters>
        <asp:Parameter Name="Name" Type="String" />
    </InsertParameters>
</asp:SqlDataSource>

Добавлено через 4 часа 23 минуты
В общем убрал Bind() из деклараций, сделал связывание через событие:

C#
1
2
3
4
5
6
        protected void DetailsViewAddUser_OnItemInserting(object sender, DetailsViewInsertEventArgs e)
        {
            DetailsView detailsViewAddUser = (DetailsView) sender;
            DropDownList dropDownListInsertRole = (DropDownList) detailsViewAddUser.FindControl("DropDownListInsertRole");
            e.Values["Role"] = dropDownListInsertRole.SelectedValue;
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2012, 19:41
Ответы с готовыми решениями:

DetailsView: производить рассчеты данных при добавлении строки
вопрос мой дурацкий, но не могу его решить(( у меня есть грид, в котором есть поля дата и сумма..и...

Ошибка при добавлении данных
В программе я пытаюсь добавить записи в таблицу Manufacturer(рис.1) для этого в соответствующие...

Ошибка при добавлении данных в БД
Хочу добавить данные в БД Access через текстбоксы. Ни одна из перегрузок метода &quot;Insert&quot; не...

Ошибка при добавлении данных
При добавлении данных на главную форму, выводится ошибка, связанная с компонентом IBQuery2,...

1
84 / 84 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
05.12.2012, 03:49 2
не тот раздел форума, поднимись на пункт выше
0
05.12.2012, 03:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2012, 03:49
Помогаю со студенческими работами здесь

Ошибка при добавлении данных
Добрый день. Пытаюсь добавить данные в таблицу и появляется ошибка. Код кнопки procedure...

Ошибка при добавлении данных
Доброго времени суток. Подскажите пожалуйста. Добавляю данные в БД Access. Изначально был код...

Ошибка при добавлении данных БД
procedure TForm16.Button1Click(Sender: TObject); var s,m:String; begin begin ...

Ошибка при добавлении данных
Подскажите пожалуйста. procedure TFormAdd.btn1Click(Sender: TObject); var id_vid_peredachi:...

Ошибка при добавлении в базу данных
&lt;?php include (&quot;settings/connect.php&quot;); if (isset($_POST)) {$title = $_POST;} if...

Ошибка при добавлении данных в таблицу
При выполнении запроса на добавление в таблицу выходит такая ошибка. Не подскажите в чем дело? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru