Я пытаюсь передать переменную из метода в моем контроллере в метод в модели. Поскольку метод в модели принимает один аргумент (который был разработан ранее), я не могу передать свою переменную в качестве аргумента методу в модели. Кроме того, метод в этой модели также вызывается другими контроллерами, поэтому, если я изменю аргумент, мне придется также изменить все контроллеры, что было бы утомительным занятием.
До сих пор я пытался: я создал один MyVariableClass и объявил свойство. Затем я создал этот класс и установил в строке свойства переменную, которую хотел передать. Теперь, в методе моей Модели, я снова создал тот же MyVariableClass, но когда я это сделал, значение переменной было установлено на ноль. Код, который у меня сейчас есть, -
public ActionResult ItemInformation( string id)
{
//Pass a string to MyVariable
MyVariableVClass params = new MyVariableClass();
params.myVariable = "abc";
//This is what My Model is taking as an argument(id), and I don't want to
//pass mYvariable along with that argument because it will break other controllers
// too which calls this method
var itemInformation = _repository.GetItemInformation(id);
return View(itemInformation);
}
и MyVariableClass
public class MyVariableClass
{
public string myVariable { get; set; }
}
и метод в моей модели
public IList<Items> GetItemInformation(string itemId)
{
MyVariableClass webType = new MyVariableClass();
var _params = webType.myVariable;
//Check this variable and perform database query
if (_params =="this")
{
var query = myFirstQuery;
}
else
{
var query = mySecondQuery;
}
//return ....
}
У кого-нибудь есть решение этой проблемы? Заранее спасибо!