大家好,我有一个应用程序..管理员将 Projetcs 分配给员工,所以我的屏幕看起来像这样我有三个名为 [Projects]、[Employees]、[AssignedWork] 的 Db 表 ..我在做什么是我将所有项目绑定到 DropDwon 并将所有员工名称动态绑定到 CheckBox 这就是我的做法
<div ><a >Project Name : </a><%:Html.DropDownList("Projects")%></div>
<div class="scrool_main" >
<% foreach (var item in Model)
{ %>
<br />
<%:Html.CheckBox("EmployeId", new { value = item.EmployeeID, @class = "employeeCheckBox" })%>
<%:Html.LabelForModel(item.EmployeeName)%>
<%} %>
</div>
<% if (TempData["notice"] != null) { %>
<p><label id="msgtext" >Inserted Successfully !!!!</label></p>
<% } %>
</div>
这就是我在下拉更改时调用我的控制器方法的方式
<script type="text/javascript">
$(document).ready(function () {
$("#Projects").change(function () {
alert(1);
var project = document.getElementById("Projects");
var SelProj = project.options[project.selectedIndex].value;
alert(SelProj);
if (SelProj != "") {
alert("hi");
var PorjectId;
$.ajax({
type: "POST",
url: '<%= Url.Action("GetAssignedWork","Project") %>',
enctype: 'multipart/form-data',
data: {ProjectId:SelProj}
})
}
});
});
</script>
这是我的控制器动作
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetAssignedWork(string ProjectId)
{
ViewBag.Projects = new SelectList(GetProjects(), "ProjectId", "ProjectName");
var EmployeeList = new List<ResourceModel>();
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlCommand dCmd = new SqlCommand("select EmployeID from AssignedWork where ProjectID='" + ProjectId + "'", conn);
SqlDataAdapter da = new SqlDataAdapter(dCmd);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
//need help here for getting the checkbox checked
}
return View("AssignWork",EmployeeList);
}
}
所以我想要的是,如果管理员从所选索引的下拉列表中选择项目,则应该检查以前分配给该项目的员工。我的意思是应该检查已经分配给该项目的员工……所以我应该怎么做这个