我正在编写 MVC5 和 C#。
我有一个索引视图,它只有一个由控制器填充的下拉列表 - 带有两个表字段(File_Desc 和 Track_Nmbr)。当用户从下拉列表中选择 File_Desc 时,它会触发 javascript 重定向并将 Track_Nmber 作为“关键字”传递给名为“列表”的视图。List 然后显示数据库中具有相同 Track_Nmbr 的所有项目。这部分全部按设计工作。
我迷路的地方是下一步。从 LIST 视图中,在用户查看当前项目后,他们可以输入与此 Track_Nmbr 关联的新项目。因此,我希望创建视图打开并预填充 Track_Nmbr 字段。
我可以很容易地从索引视图下拉列表中获取 TRACK_NMBR 并将其传递给列表视图。但是我如何再次将它传递给创建视图?因为我无法再从下拉列表中抓取它。
我一直在寻找和阅读,但时间至关重要。我仍然会继续寻找信息并尽力解决它,但我在砖墙上。我对 MVC5 很陌生。
我将分享我所有的代码,这样你就可以看到我到目前为止是如何设置的。我正在寻找最简单的解决方案来打开创建视图并预填充 TRACK_NMBR 字段。
代码:索引控制器
public ActionResult Index()
{
// Create Drop Down List from Data_Catalog
{
List<SelectListItem> testList = db.DATA_CATALOG.Select(x => new SelectListItem { Value = x.TRACK_NMBR.ToString(), Text = x.FILE_DESC, Selected = false }).DistinctBy(p => p.Text).ToList();
ViewBag.testList = new SelectList(testList, "Value", "Text");
return View();
}
// End Drop Down List
}
代码:索引视图
@section scripts{
<script type="text/javascript">
$(document).ready(function () {
$("#testList").on("change", function () {
window.location.href = "@Url.Action("Create")?keyword=" + $("#testList").val();
});
})
</script>
}
@Html.DropDownList("testList", null, "Select File")
如您所见,我在视图上放置了一个复选框。当用户单击框添加新的 File_Desc 时。我想(再次)将关键字 (track_nmbr) 发送到创建视图并预填充 Track_Nmbr 字段。但是,我的关键字现在未定义。而且我不知道如何从 url 中获取它并将其传递给 Create View,就像我在 Index to List 视图中所做的那样。
如果我可以将带有关键字的 url 发送到创建视图,我可以得到其余的。
同样,MVC5 非常新,我很头疼。C# 对我来说也是新手,因为我来自 VB.net 背景。但是,我发现使用 vb.net 在 MVC5 中找不到好的示例,因此我也在解决 c# 的学习曲线问题。
温温酱
相关分类