Amith 12807185 Ответов: 2

Как вызвать метод одного .КС класса в другой .классе по информатике на C#


public static void TrustedForm()
{
    char doubleQuote = '"';
    if (ViewState["OfferID"].ToString() == "992")
    {
        trustedFormScript = "<script src=" + doubleQuote + "http://api.trustedform.com/trustedform.js?field=trustedformfield"
        + doubleQuote + "  type=" + doubleQuote + "text/javascript" + doubleQuote + "></script>";
    }
}

public partial class Offer : BaseForm
{
    public partial class Admin_EditCompaign : System.Web.UI.Page
    {
        protected void btnUpdate_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton oButton = (ImageButton)sender;

            if (oButton.ID == "btnUpdatePostingSetUp")
            {
                if (ddlMethod.SelectedValue != "File")
                {
                    if (txtClientPostURL.Text.Trim().Length == 0)
                    {
                        //ClientScript.RegisterClientScriptBlock(GetType(), "PostURL", "alert('Client Post URL required')", true);
                        //return;
                    }
                }
            }

            if (IsValid)
            {
                SaveData();
                SetTabVisibility(true);

            }

            SelectTab(oButton.ID);

            //Trusted form if checked
            if (chkTrustedForm.Checked)
            {
                
            }
        }
    }
}


Что я уже пробовал:

Я объявил метод
public static void TrustedForm()
выше существовало, если условие в
Offer.aspx.cs
страница.

Я хочу вызвать этот метод в
Admin/EditCampaign.aspx.cs
страница.

Проблема в том, что я не получаю intellisense, чтобы позвонить
Offer.TrustedForm()
в EditCampaign страница и получить ошибку:
A namespace cannot directly contain members like fields or methods
на странице предложения

Пробовал использовать статический и без статического объявления экземпляра все равно бесполезно. Пожалуйста, помогите мне в этом.

Код выше показан: метод trustedform на странице предложения, верхняя часть страницы предложения, верхняя часть страницы Admin/editCampaign и место, где я хочу вызвать метод
//Trusted form if checked
if (chkTrustedForm.Checked)
{
    
}

2 Ответов

Рейтинг:
1

avigr8

вам нужно выполнить в основном 3 шага.

1.Если ваш класс находится в dll, то возьмите ссылку на dll к вашему файлу решения.
2. используйте "с использованием <пространство&ГТ;;" к заголовку вашего класса.
3. вызовите метод с помощью псевдонима или с помощью classname. methodName, если статический метод.

С уважением,
Авинаш Кумар


Amith 12807185

Ни один класс не находится в dll. Он был загружен с ftp-сервера, и решение было построено.
Попробовал остальные шаги, но все равно не могу получить доступ к этому методу на странице editcampaign.Поэтому я попытался определить функцию trustedForm вне события pageload, вынимая статику, теперь ошибки нет, однако я все еще не мог получить доступ к функции в другом файле. cs

Рейтинг:
1

F-ES Sitecore

Сам файл не имеет никакого значения, поскольку для того, чтобы метод был частью класса предложения, он должен находиться внутри его объявления класса, а не только в том же файле

public partial class Offer : BaseForm
{
    public static void TrustedForm()
    {
        // your code here
    }

    // rest of Offer code here
}


Amith 12807185

Я определил метод вне pageload event removed static, теперь он не выдает никаких ошибок, но этот метод все еще недоступен на странице editCampaign.[тип или имя пространства имен "предложение" не удалось найти] при объявлении экземпляра. Серьезно, не зная, что делать? Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация об этой проблеме.

F-ES Sitecore

Если Страница предложения находится в другой папке, она будет находиться в другом пространстве имен, поэтому вы не можете просто использовать "предложение", вам нужно будет добавить соответствующий оператор "Using" в верхней части страницы или использовать полное имя класса, например

MyWholeNamespace.Предложение

Доступ к одному классу из другого действительно является .net 101, и если вы изо всех сил пытаетесь сделать это, вам нужно получить книгу по c# и изучить основы.