Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элемент * не существует в текущем контексте / 2 сообщений из 2, страница 1 из 1
01.10.2012, 00:33
    #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
11.10.2012, 11:45
    #37993340
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элемент * не существует в текущем контексте
Если добавил страницу копипастой, то нужно изменить свойства страницы: Inherits и CodeBehind
Не рекомендую писать SQL-код прямо на странице
Рекомендую к ознакомлению:
http://en.wikipedia.org/wiki/Data_access_layer
Внедрение SQL-кода
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элемент * не существует в текущем контексте / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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