我认为标题说明了一切...... 如果另一列的值等于所选值(来自另一个下拉列表),我想将输入填充值的整个表更新到选定列(从下拉列表中选择)。将所有这些放在一起对我来说似乎很难......
喜欢这种查询...
var db = Database.Open("DatabaseX");
var updateCommand = "UPDATE TableX Set SelectedColumn(dropdownlistA) = (InputA) IF ColumnX = Selected Values(dropdownlistB)";
抱歉我的英文
答案 0 :(得分:0)
如果您无法从表单提交的下拉菜单中获取所选值,则可以尝试此操作。
创建一个视图模型,其中包含下拉列表和所选选项值的数据属性。
public class CreateUserVm
{
public int SelectedCam { set; get; }
public List<SelectListItem> Cams { set; get; }
public int SelectedCat { set; get; }
public List<SelectListItem> Categories { set; get; }
}
在你的GET动作中,创建一个对象,初始化集合属性并发送视图。
public ActionResult Create()
{
var v = new CreateUserVm
{
Categories = new List<SelectListItem>
{
new SelectListItem {Value = "1", Text = "Photo"},
new SelectListItem {Value = "2", Text = "Video"}
},
Cams = new List<SelectListItem>
{
new SelectListItem {Value = "25", Text = "DSLR"},
new SelectListItem {Value = "28", Text = "Point and Shoot"}
}
};
return View(v);
}
现在,您的创建视图应该强烈输入此CreateUserVm类。
@model CreateUserVm
@using(Html.BeginForm())
{
@Html.DropDownListFor(g=>g.SelectedCat, Model.Categories)
@Html.DropDownListFor(g=>g.SelectedCam, Model.Cams)
<input type="submit" />
}
在您的HttpPost操作方法中,我们将使用CreateUserVm对象作为参数,以便通过默认的模型绑定器将发布的模型映射到它。
[HttpPost]
public ActionResult Create(CreateUserVm model)
{
var camId = model.SelectedCam;
var catId = model.SelectedCat;
// use camId and catId to update your db.
// to do : Save and Redirect
}