powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элемент * не существует в текущем контексте
2 сообщений из 2, страница 1 из 1
Элемент * не существует в текущем контексте
    #37977740
Wrun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток! Веду небольшую разработку на ASP.NET

При компиляции появились 2 ошибки:
Элемент "DataList1" не существует в текущем контексте.
Элемент "DataList2" не существует в текущем контексте.

В строчках:
foreach (DataListItem li in DataList1.Items)
foreach (DataListItem li in DataList2.Items)

Вначале всё получилось, а потом добавил еще одну страницу и всё сломалось.
Никак не могу нагуглить в чем может быть причина.

Config.aspx.cs
Код: plaintext
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.
37.
38.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace asp1
{
    public partial class Config : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void sbm1_Click(object sender, EventArgs e)
        {
            foreach (DataListItem li in DataList1.Items)
            {
                CheckBox cb1 = (CheckBox)li.FindControl("CheckBox1");
                HiddenField ConfigValsId = (HiddenField)li.FindControl("ConfigValsId");
                SqlDS1.UpdateCommand = "UPDATE ConfigVals SET [value]='" + (cb1.Checked ? "1" : "0") + "' WHERE [id]='" + ConfigValsId.Value + "'";
                SqlDS1.Update();
            }
        }
        protected void sbm2_Click(object sender, EventArgs e)
        {
            foreach (DataListItem li in DataList2.Items)
            {
                CheckBox cb2 = (CheckBox)li.FindControl("CheckBox2");
                HiddenField JobsId = (HiddenField)li.FindControl("JobsId");
                //SqlDS2.UpdateCommand = "UPDATE sysjobs SET [enabled]='0' WHERE [job_id]='" + JobsId.Value + "'";
                SqlDS2.UpdateCommand = "UPDATE sysjobs SET [enabled]='" + (cb2.Checked ? "1" : "0") + "' WHERE [job_id]='" + JobsId.Value + "'";
                SqlDS2.Update();
            }
        }
    }
}




Config.aspx
Код: plaintext
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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
<%@ Page Title="Настройки" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Config.aspx.cs" Inherits="asp1.Config" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <p>
        <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDS1" Width="600px">
            <HeaderTemplate>
                <asp:Label ID="Label1" runat="server" Font-Bold="True" Text="Настройки запуска процедур:"></asp:Label>
            </HeaderTemplate>
            <ItemTemplate>
                <asp:HiddenField ID="ConfigValsId" runat="server" Value='<%# Eval("id") %>' />
                <asp:CheckBox ID="CheckBox1" runat="server"
                    Checked='<%# (DataBinder.Eval(Container.DataItem,"value").ToString()!="0"?true:false) %>' 
                    Text='<%# DataBinder.Eval(Container.DataItem,"key").ToString().Replace("Prc","").Replace("DO_","").Replace("Disable","")  %>' />
                

            </ItemTemplate>
            <FooterTemplate>
                <asp:Button ID="sbm1" runat="server" onclick="sbm1_Click" Text="Сохранить" />
            </FooterTemplate>
        </asp:DataList>
        <asp:SqlDataSource ID="SqlDS1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:SAPConStr %>" 
            SelectCommand="SELECT [key], [id], [value] FROM [ConfigVals] WHERE (([group] = 'URV') AND ([key] LIKE 'Prc%Disable'))">
        </asp:SqlDataSource>
    </p>
    <p>
        <asp:DataList ID="DataList2" runat="server" DataKeyField="job_id" DataSourceID="SqlDS2" Width="600px">
            <HeaderTemplate>
                <asp:Label ID="Label2" runat="server" Font-Bold="True" Text="Настройки запуска расписаний:"></asp:Label>
            </HeaderTemplate>
            <ItemTemplate>
                <asp:HiddenField ID="JobsId" runat="server" Value='<%# Eval("job_id") %>' />
                <asp:CheckBox ID="CheckBox2" runat="server" 
                Checked='<%# (DataBinder.Eval(Container.DataItem,"enabled").ToString()!="0"?true:false) %>' 
                Text='<%# DataBinder.Eval(Container.DataItem,"name").ToString().Replace("urv_","").Replace("sap_","") %>' />
                

            </ItemTemplate>
            <FooterTemplate>
                <asp:Button ID="sbm2" runat="server" onclick="sbm2_Click" Text="Сохранить" />
            </FooterTemplate>
        </asp:DataList>
        <asp:SqlDataSource ID="SqlDS2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:msdbConStr %>" 
            SelectCommand="SELECT job_id,name,enabled FROM msdb.dbo.sysjobs WHERE category_id=100">
        </asp:SqlDataSource>
</p>
</asp:Content>



В чем может быть причина?
...
Рейтинг: 0 / 0
Элемент * не существует в текущем контексте
    #37993340
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если добавил страницу копипастой, то нужно изменить свойства страницы: Inherits и CodeBehind
Не рекомендую писать SQL-код прямо на странице
Рекомендую к ознакомлению:
http://en.wikipedia.org/wiki/Data_access_layer
Внедрение SQL-кода
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элемент * не существует в текущем контексте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]