Member 11072126 Ответов: 1

Как вызвать функцию в файле .cs из другого проекта в одном и том же решении в .NET


Всем Привет,

Я уже работал над jquery ajax раньше, но застрял в проблеме. Позвольте мне поделиться этой проблемой со всеми вами.

ПРОБЛЕМА

структура папок
В решении есть 2 проекта - Проект 1 и проект 2. В проекте 1 есть вызов jQuery ajax, где вызов производится к файлу .cs (AlleryControl.cs) в проекте 2 и он имеет метод - generateToolbarMenu().
Файл AllergyControl.cs-это частичный файл класса, а спецификатор доступа к методу - "внутренний".

Во время запуска приложения он показывает "404 Error" и говорит, что файл не найден.

Это проект MVC. Только проект 1 находится на хостинге. Когда я запускаю приложение, оно указывает на проект 1. Затем, если путь к файлу идет неправильно, Как указать путь к файлу .cs в проекте 2?

Или это что-то еще, что я должен проверить?

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

Я попробовал все следующие один за другим:

1. Поменяли "типа" собственность в jQuery AJAX из "пост" на "вам".
2. добавлен атрибут [WebMethod] для функции, а также изменен спецификатор доступа с "внутреннего" на "публичный".
3. во время запуска приложения изменил путь к файлу на лету, но не смог определить, каким должен быть фактический путь к файлу?

F-ES Sitecore

Вы не "звоните" на страницы cs. cs-файлы-это просто текстовые файлы, содержащие код для компиляции в классы, и именно эти классы вы хотите вызвать.

Поскольку то, что вы пытаетесь сделать, буквально невозможно, вам нужно будет хотя бы опубликовать часть кода. Если вы хотите вызвать код c# через ajax, то вам нужен ваш проект MVC для размещения веб-api, или ajax может вызвать действие непосредственно на контроллере. google "c# ajax call controller action" для примеров того, как это сделать.

Member 11072126

Да. Я тоже знаю то же самое. Мы не можем вызвать какой-либо метод из файла .cs. Я знаю, как вызвать любой метод действия в контроллере. Большое спасибо.

ZurdoDev

Чтобы вызвать функцию в другом проекте, вы добавляете ссылку на этот проект.

Member 11072126

Да. Правильный.
В любом случае, спасибо вам всем за ваши ответы. Это было сделано. Я создал метод действия внутри контроллера и указал на него ajax-вызов.

ZurdoDev

Хорошо, пожалуйста, опубликуйте что-нибудь в качестве решения, чтобы это больше не отображалось в списке без ответа.

#realJSOP

Почему бы вам не сделать это и не позволить ему "принять решение". Таким образом, выигрывают все.

1 Ответов

Рейтинг:
0

Alek Massey

Почему бы вам не попробовать создать метод действия внутри контроллера. Затем AJAX-вызов для этого.
:)