这可能是一个重复的标题,但我有一个不同的问题。我有这个代码
public ActionResult _FieldAssignmentView()
{
Shift shift = new Shift();
Person person = new Person();
Signatory sig = new Signatory();
ViewBag.ShiftId = new SelectList(db.Shifts, "ShiftId", "ShiftDesc", shift.ShiftId);
var empid = (from p in db.People join s1 in db.Employees on p.PersonId equals s1.PersonId select new { CompleteName = p.CompleteName, s1.EmployeeId });
ViewBag.EmployeeID = new SelectList(empid, "EmployeeId", "CompleteName", null).OrderBy(m => m.Text);
if (Roles.IsUserInRole(User.Identity.Name, "divisionhead") && Roles.IsUserInRole(User.Identity.Name, "director"))
{
return PartialView("_FieldAssignment");
}
else
{
return PartialView("_FieldAssignmentForEmployee");
}
// return View();
}
现在我的问题是可以返回两(2)个局部视图吗? 我有四个局部视图(1,2,3,4),我复制了员工log.in的视图1和4以禁用某个按钮。例如,员工将登录视图1和4将返回我的其他代码。 如果可能怎么样?感谢。
答案 0 :(得分:1)
例如,员工将登录视图1和4将返回我的 别的代码。如果可能的话怎么办?
您可以创建另一个容器局部视图,其中包含其他2个部分视图。
LoggedInUserView.cshtml
@Html.Partial("_FieldAssignment")
@Html.Partial("_FieldAssignmentForEmployee")
现在处于您的其他情况,您可以返回此视图
return PartialView("LoggedInUserView.cshtml");
如果要在任何这些视图中禁用按钮,可以在视图模型中添加布尔属性,并在操作方法中设置值,并使用该属性有条件地显示禁用/启用按钮
public class FieldAssignmentViewModel
{
public bool IsAllowedToAssign {set;get;}
}
并在您的操作方法中
var vm = new FieldAssignmentViewModel();
vm.IsAllowedToAssign = true; // Set this value based on your custom condition.
return View(vm);
现在,您传递此对象的视图应该强烈输入到我们的视图模型中。
_FieldAssignment.cshtml
@model FieldAssignmentViewModel
@using(Html.BeginForm())
{
@if(Model.IsAllowedToAssign)
{
<input type="submit" value="Assign" />
}
else
{
<input type="button" disabled value="Assign" />
}
}