我有控制器:Recruitment Controller.cs 我有方法/行动:cek recommended
public string cekrecomended(string id)
{
id = EncryptDecrypt.Decrypt(id);
string ada = "false";
string jurusan = Session["Jurusan"].ToString();
string pendidikan = Session["Pendidikan"].ToString();
int usia = Convert.ToInt16(Session["Usia"]);
string kelamin = Session["Kelamin"].ToString();
double nilai = Convert.ToDouble(Session["Nilai"]);
var data = (from c in db.ViewVacancyJabatanPerusahaans
where
c.Pendidikan.Contains(pendidikan) &&
(c.Jurusan.Contains(jurusan) || c.Jurusan.Contains("Semua jurusan")) &&
c.Nilai <= nilai &&
c.UsiaDari <= usia &&
c.UsiaSampai >= usia &&
c.JenisKelamin.Contains(kelamin) &&
c.TglAkhirlamaran >= DateTime.Now &&
c.Dlt == false &&
c.IDVancancy == Convert.ToInt16(id)
orderby c.IDVancancy descending
select c).Count();
if (data > 0)
{
ada = "true";
}
return ada;
}
我想从视图中访问cekrecomended。
@if(Human_Resource_Development.Controllers.RecruitmentController.cekrecomended(Convert.ToString(item.IDVancancy)) == "true")
{
<button>Apply this position</button>
}
但是我收到了错误。
答案 0 :(得分:1)
这会破坏模型,视图和控制器的分离MVC基于 - 在您的视图中,您应该只使用您的视图模型。在您的情况下,只需使用具有属性的视图模型,使该方法调用的结果可用。
答案 1 :(得分:1)
您应该将视图模型用于此目的。让我们说MyViewModel
是模型的类,添加一个名为IsRecommended
的布尔属性
public class MyViewModel
{
// all of the other properties
// ....
public bool IsRecommended { get; set; }
}
在控制器操作方法
中设置IsRecommended
的值
public ActionResult Index()
{
MyViewModel model = new MyViewModel();
// other codes here
// ...
model.IsRecommended = ....; // logic from cekrecomended method here
return View(model);
}
确保在视图顶部显示此语法
@model MyViewModel
并确定&#34;应用此职位&#34;按钮将根据IsRecommended
属性的值显示或不显示,如下所示
@if (Model.IsRecommended)
{
<button>Apply this position</button>
}
答案 2 :(得分:0)
感谢您的回答。我的问题解决了,我有解决方案。 我只是改变
public string cekrecomended(string id)
{
//bla bla
}
到
public static string cekrecomended(string id)
{
//bla bla
}
我可以从视图中访问。