从c#中的另一个控制器获取控制器的值
本文关键字:控制器 获取 另一个 | 更新日期: 2023-09-27 18:28:28
我在c#中有三个控制器类。说A控制器、B控制器、C控制器。我曾经使用AController设置BController的私有成员的值。
public BController{
string test = "";
public BController(string input)
{
this.test = input;
}
}
如何从CController访问测试。
任何方法,而不是将成员分配为静态变量
您可以返回到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
}
}
}
您可以使用Properties模式获取和设置私有字段的值
public string TestB {
get {return this.test;}
set {this.test = value;}
}
您的问题没有具体说明您正在使用的技术。因此,我的第一个建议是基于普通的C#类。
测试属性是一个专用字段,不能在类之外访问。您可以通过属性公开它。如果要使用当前程序集访问该字段,则可以将其设置为内部字段。有关详细信息,请查看Access Modifier。我建议你使用一处房产,因为它能给你更多的控制权。
private string test;
public string Test
{
get{return test;}
set{test=value'}
}
如果你正在使用MVC,那么你可以使用TempData。TempData是一个派生自TempDataDictionary类的字典。它用于存储仅用于以下请求的数据。有关更多信息,请参阅TempData