2014-10-29 7 views
0

У меня есть три класса контроллера в C#. Скажите ACcontroller, BController, CController. Я использовал значение частного члена BController с помощью AController.Получите значение от контроллера от другого контроллера в C#

public BController{ 
string test = ""; 
public BController(string input) 
{ 
this.test = input; 
} 
} 

Как получить доступ к тесту от CController.

Любой подход, а затем назначить члена в качестве статической переменной

+0

Возможно, вы ошиблись в логике? Не могли бы вы предоставить больше кода и некоторую дополнительную информацию о ваших потребностях? – noobed

+0

Возможный дубликат [Reflect Over List of Controllers] (http://stackoverflow.com/questions/3680609/reflect-over-list-of-controllers) – Alexander

ответ

1

Вы можете вернуть редирект CControllerAction.

public class BController() 
{ 
    public ActionResult BControllerAction() 
    { 
     return RedirectToAction("CControllerAction", "CController", new { param = "some string" }) 
    } 
} 

public class CController() 
{ 
    public ActionResult CControllerAction(string param) 
    { 
     if(!String.IsNullOrEmpty(param)) 
     { 
      //do smth 
     } 
    } 
} 
0

Вы можете получить и установить значение частного поля с использованием шаблона свойств

public string TestB { 
    get {return this.test;} 
    set {this.test = value;} 
} 
0

Ваш вопрос не определяет технологию, которую вы используете. Поэтому мое первое предложение основано на простом классе C#.

Свойство test является частным полем и не может быть доступно за пределами класса. Вы можете открыть его через свойство. Вы можете сделать поле внутренним, если вы собираетесь получить доступ к нему с помощью текущей сборки. Посмотрите на Access Modifier для получения дополнительной информации. Я предлагаю вам использовать свойство, поскольку оно дает вам больше контроля.

private string test; 
public string Test 
{ 
get{return test;} 
set{test=value'} 
} 

Если вы используете MVC, вы можете использовать TempData. TempData - это словарь, полученный из класса TempDataDictionary. Он используется для хранения данных, которые необходимы только для следующего запроса. Для получения дополнительной информации см. TempData