Доброе время суток! Веду небольшую разработку на ASP.NET
При компиляции появились 2 ошибки:
Элемент "DataList1" не существует в текущем контексте.
Элемент "DataList2" не существует в текущем контексте.
В строчках:
foreach (DataListItem li in DataList1.Items)
foreach (DataListItem li in DataList2.Items)
Вначале всё получилось, а потом добавил еще одну страницу и всё сломалось.
Никак не могу нагуглить в чем может быть причина.
Config.aspx.cs
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
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>
В чем может быть причина?