gpt4 book ai didi

c# - 如何在 ASP.NET MVC 4 中保存多个 ViewModel?

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:41 25 4
gpt4 key购买 nike

我按照文章的说明操作 http://www.codeproject.com/Tips/850816/Dynamically-Populate-Dependent-Dropdown-List-in-MV为自己的项目。它工作正常。我可以通过这种方式动态填充相关的下拉列表。

上文“5.4更新索引 View ”中的代码统一了ViewModels CityViewModel、StateProvinceViewModel和CountryViewModel。每个 ViewModel 都包含其自己的下拉列表的信息。

我现在的问题是:
做出选择后,如何在所有三个下拉列表中保存当前选择? (我想将当前选择的值保存在数据库的下拉列表中)。有人可以给我提示吗?我知道如何处理一个 ViewModel(可能使用三个不同的 DataModel),但如果使用多个 ViewModel,我不知道从哪里开始。

我使用 C# 和 Razor(但我也能够阅读 VB 并将 VB 翻译成 C#)。据我所知,我只能保存一个 ViewModel,还是我错了?

最佳答案

How can I save the current selections in all three dropdownlists after the selections were made?

听起来您可能需要在每次下拉更改事件后对 Controller 操作进行 Ajax 回调?实际上(演示基础知识)

看看这个 MVC fiddle

https://dotnetfiddle.net/JCwltD

假设我们在一个页面上有一堆下拉列表:

<form id="theForm">
@Html.DropDownListFor(m => m.DropDown1, new SelectList(this.Model.DropDown1Items), new { @class="ddl"} )
@Html.DropDownListFor(m => m.DropDown2, new SelectList(this.Model.DropDown2Items), new { @class="ddl"} )
@Html.DropDownListFor(m => m.DropDown3, new SelectList(this.Model.DropDown3Items), new { @class="ddl"} )
</form>

如何选择要保存的值取决于 JQuery 选择器(在本例中为 css 类 .ddl

$(document).ready(function()
{
$(".ddl").change(function()
{
$.post('@Url.Action("Save", "Home")',
$(".ddl").serialize(), function(c)
{
alert(c);
});

});
});

只需确保您有一个操作方法来收集此信息,并确保操作方法的参数名称与 HTTP Post 中的字段名称相匹配。 (Chrome开发者工具的Fiddler或者Firebug,看不清楚的可以给你看)

[HttpPost]
public JsonResult Save(string dropDown1, string dropDown2, string dropDown3)
{
// do save logic here
return Json("Saved: " + dropDown1 + " " + dropDown2 + " " + dropDown3);
}

关于c# - 如何在 ASP.NET MVC 4 中保存多个 ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28849464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com