Javascript 将参数从Vew传递到控制器
我试图将2个值从视图传递回控制器。 我有两个问题: 1-我成功地传递了1个值,但我不确定我的问题是来自视图还是控制器。我正在尝试传递下拉列表中更改的值。当前,当我进行任何选择时,没有任何更改。它确实使用以下URL:尽管出于某种原因,选择技师时会清除状态 以下是我如何尝试的代码: 视图: 控制器:Javascript 将参数从Vew传递到控制器,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我试图将2个值从视图传递回控制器。 我有两个问题: 1-我成功地传递了1个值,但我不确定我的问题是来自视图还是控制器。我正在尝试传递下拉列表中更改的值。当前,当我进行任何选择时,没有任何更改。它确实使用以下URL:尽管出于某种原因,选择技师时会清除状态 以下是我如何尝试的代码: 视图: 控制器: public ActionResult Index(string Status, string Tech) { var helpdesk = from m
public ActionResult Index(string Status, string Tech)
{
var helpdesk = from m in db.HelpDesks
where m.Status == Status || Status == null || Status == "" &&
m.Technician == Tech || Tech == null || Tech == ""
select m;
List<SelectListItem> Stat = new List<SelectListItem>()
{
new SelectListItem { Text = "All", Value = "" },
new SelectListItem { Text = "New", Value = "New" },
new SelectListItem { Text = "Complete", Value = "Complete" },
};
List<SelectListItem> Technician = new List<SelectListItem>()
{
new SelectListItem { Text = "All", Value = "" },
new SelectListItem { Text = "Steve", Value = "Steve" },
new SelectListItem { Text = "Greg", Value = "Greg" },
};
ViewBag.Stat = Stat;
ViewBag.Technician = Technician;
return View(helpdesk.ToList());
}
我的第二个问题是,当页面重新加载时,如何让DropDownList停留在选择中?是否有为此定义的路由?我这样问是因为你说你在第二个参数上遇到了问题,这个参数叫Tech,但在你的URL中它叫technique。如果你做了URL查询字符串呢?Status=New&Tech=Steve,那么它匹配吗?好的,我应该抓住它。所以它现在可以工作了-但取决于我选择的一个-另一个是空的。每次我选择on时,它们都默认返回all和all。因此,如果我在页面刷新时选择Status New(状态新建),它会显示New(新建)的所有状态,但会清除Tech(技术),反之亦然,因此我一次只能得到一个过滤器。这有意义吗?如何让下拉列表记住刷新后选择的内容?以下是URL使用情况:单击状态:我没有选择的下拉列表中缺少字符串。单击分配:在我回答这个问题之前,我确实在您的代码中看到另一个输入错误,您的C代码正在将某些内容分配给ViewBag.Stat,但在您的视图中,您正在请求ViewBag.Assigned作为状态下拉列表,因此如果尚未更正,请执行此操作并查看您的情况。如果您仍然有问题,请更新代码以反映修复,以便我可以更好地帮助您。谢谢,好的。我已经更新了代码。谢谢
public ActionResult Index(string Status, string Tech)
{
var helpdesk = from m in db.HelpDesks
where m.Status == Status || Status == null || Status == "" &&
m.Technician == Tech || Tech == null || Tech == ""
select m;
List<SelectListItem> Stat = new List<SelectListItem>()
{
new SelectListItem { Text = "All", Value = "" },
new SelectListItem { Text = "New", Value = "New" },
new SelectListItem { Text = "Complete", Value = "Complete" },
};
List<SelectListItem> Technician = new List<SelectListItem>()
{
new SelectListItem { Text = "All", Value = "" },
new SelectListItem { Text = "Steve", Value = "Steve" },
new SelectListItem { Text = "Greg", Value = "Greg" },
};
ViewBag.Stat = Stat;
ViewBag.Technician = Technician;
return View(helpdesk.ToList());
}