C# 如何在MVC中基于下拉选择填充文本框。。?
您好,我已经创建了一个表,并通过ADO.NET实体将其连接到MVC项目。 连接之后,我为实体添加了控制器,它在MVC项目的视图文件夹中创建了一组cshtml文件。 但现在我需要的是创建一个dropdownlist和textbox。 我在cshtml文件中创建了dropdownlist,并在控制器中为其编写了逻辑。 我也可以创建文本框,但我面临的问题是根据dropdownlist选择来填充文本框 我的VS 2012自动生成的模型是C# 如何在MVC中基于下拉选择填充文本框。。?,c#,jquery,asp.net-mvc,asp.net-mvc-4,razor,C#,Jquery,Asp.net Mvc,Asp.net Mvc 4,Razor,您好,我已经创建了一个表,并通过ADO.NET实体将其连接到MVC项目。 连接之后,我为实体添加了控制器,它在MVC项目的视图文件夹中创建了一组cshtml文件。 但现在我需要的是创建一个dropdownlist和textbox。 我在cshtml文件中创建了dropdownlist,并在控制器中为其编写了逻辑。 我也可以创建文本框,但我面临的问题是根据dropdownlist选择来填充文本框 我的VS 2012自动生成的模型是 public partial class Plan_S
public partial class Plan_S
{
public int PlanId_PK { get; set; }
public string PlanNames { get; set; }
public string Hours { get; set; }
}
我的显示下拉列表的控制器是
`
显示dropdownlist的My view.cshtml是
`
在这个计划表中
PlanNames列填充在DROPDOWNLIST中,
当我在DDL中选择Plan1时,它应该将texbox填充为1hrs
当我在DDL中选择Plan2时,它应该将文本框填充为2小时
这是我需要的逻辑,我可以在asp webforms中实现,但在MVC中这很棘手
我认为Jquery是需要的
请帮帮我,我花了好几个小时才找到这个逻辑
首先,让我们创建一个视图模型来保存以下内容:
public class PlanViewModel
{
public List<SelectListItem> Plans { get; set; }
}
那么,在您看来,请执行以下操作:
@model Pivot.Models.Plan_S
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div>
@Html.DropDownList("PlanNames", Model.Plans, "--select--")
<input id="planHours" type="text" />
</div>
@model Pivot.Models.Plan\u
@{
ViewBag.Title=“Index”;
}
指数
@Html.DropDownList(“PlanNames”,Model.Plans,“--select--”)
然后,您需要在jQuery中执行以下操作:
<script type="text/javascript">
$(function () {
$("[name='PlanNames']").change(function () {
$("#planHours").val($(this).val());
});
});
</script>
$(函数(){
$(“[name='PlanNames']”)。更改(函数(){
$(“#planhurs”).val($(this.val());
});
});
Hi mattytomo我无法理解方法索引()中的当前计划…请在这方面帮助我…@user2309770您的页面的用途是什么?是编辑计划还是创建计划?或者只显示信息?单击dropdownlist中的Plan1,文本框应填充表中相应的值。在这里,单击Plan1,文本框应填充为1小时,如我的问题中所示。@user2309770检查我的更新编辑。我以为你在编辑一个计划,而不仅仅是展示信息。新代码将为您提供这一点。@user2309770我猜您在这两方面都得到了时间和成本是吗?
public class PlanViewModel
{
public List<SelectListItem> Plans { get; set; }
}
public ActionResult Index()
{
var model = new PlanViewModel();
model.Plans = db.Plan_S
.Select(p => new SelectListItem
{
Value = p.Hours,
Text = p.PlanNames
})
.ToList();
return View(model);
}
@model Pivot.Models.Plan_S
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div>
@Html.DropDownList("PlanNames", Model.Plans, "--select--")
<input id="planHours" type="text" />
</div>
<script type="text/javascript">
$(function () {
$("[name='PlanNames']").change(function () {
$("#planHours").val($(this).val());
});
});
</script>