Невозможно вызвать статический метод класса диспетчера данных в коде за страницей основного файла ASPX - PullRequest
0 голосов
/ 15 декабря 2011

Я пытаюсь сделать простой ввод данных.У меня есть файл aspx для ввода и файл менеджера данных в папке App_Code для взаимодействия с объектом данных.У меня есть «статический» метод add, но я не могу добавить файл модели со строкой «using dataModel» и не могу вызвать статический метод в коде позади ...

Что мне не хватает?

main.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using dataModel;     // <------------- cant add this one..gives error

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

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        dataManager em = new dataManager();
        em.add(...)
    }
}

dataManager.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class dataManager
{

    // Add a new customer
    public static void add(...)
    {
    .
    .
    .

Ответы [ 5 ]

1 голос
/ 15 декабря 2011

Methof add - статический метод, поэтому попробуйте это:

dataManager.add(..);
1 голос
/ 15 декабря 2011

Статические методы не вызываются в экземплярах. Будет работать следующее:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        dataManager.add(...);
    }
}
0 голосов
/ 15 декабря 2011

Нет пространства имен с именем dataModel, поэтому использование выражения не имеет смысла. Ваш класс dataManager входит в глобальное пространство имен в коде, который вы опубликовали.

Как уже упоминалось, нет необходимости создавать экземпляр dataManager для вызова статического метода.

0 голосов
/ 15 декабря 2011

Вы должны более подробно рассмотреть

Статические классы и члены статических классов (Руководство по программированию в C #)

Вам не нужно создавать экземпляр DataManger, чтобы иметь возможностьдля вызова статического метода.

Вы можете вызвать метод striaht следующим образом

dataManager.add(..); 
0 голосов
/ 15 декабря 2011

Просто позвоните

protected void Button1_Click(object sender, EventArgs e)
{
    dataManager.Add(..);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...