如何在 MVC 的视图中将项目添加到视图模型中的列表 ASP.Net
本文关键字:视图 模型 Net ASP 添加 列表 MVC 项目 | 更新日期: 2023-09-27 17:56:47
我希望有人能在这里指出我正确的方向。我正在尝试添加到表单中的项目列表中。我已经搜索了几天,并尝试了很多变化的事情,我已经忘记了我做过的所有事情。我已尽头。
我尝试过的一些事情:我在这里找到了几个答案,引用了 5 年前的一篇文章,我尝试过但无法开始工作。我尝试使用ajax我尝试使用带有部分视图的 ajax
我希望有人可以帮助我。
我有一个这样的视图模型:
public class CustomerFormViewModel
{
public Customer Customer { get; set; }
[Remote("DoesCustomerExist", "Customers", HttpMethod = "POST", ErrorMessage = "There is already a customer by that name. Please enter another name.")]
public string CustomerName
{
get { return Customer.Name; }
set { Customer.Name = value; }
}
public IEnumerable<Key> Keys { get; set; }
public List<int> KeyIds = new List<int>();
}
客户模型如下所示:
public class Customer
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
public string Address { get; set; }
public string Country { get; set; }
public DateTime DateAdded { get; set; }
}
从本质上讲,在我看来,我想显示一个表单,管理员在其中输入客户详细信息,然后单击"添加密钥"按钮将项目添加到"KeyId"列表中。
我的观点是这样的:
@model LowKey.ViewModels.CustomerFormViewModel
@{
ViewBag.Title = "CustomerForm";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@Model.Title</h2>
@using (Html.BeginForm("Save", "Customers"))
{
<div id="customers">
<div class="form-group">
@Html.LabelFor(o => o.Customer.Name)
@Html.TextBoxFor(o => o.Customer.Name, new {@class = "form-control"})
@Html.ValidationMessageFor(o => o.Customer.Name, "", new {@class = "text-danger"})
</div>
</div>
}
也许我的域模型设置不正确,或者我的视图模型可能不同,但我尝试对 KeyList 使用部分视图,但我似乎无法使其工作。有什么想法吗?
最适合
您的工作的解决方案是:
饼干
使用饼干!因为您可以访问ASP(服务器端)和JavaScript(客户端)的cookie。因此,只需将您的数据添加到 cookie !只需要学习如何在C#和JavaScript中使用cookie,这个链接用于C#,这个链接用于JavaScript。
使用阿贾克斯您可以使用 jQuery Ajax 将客户信息发送到服务器端(通过 jQuery 和 Ajax),然后将这些信息保存在数据库中(通过 asp.net C#)。此链接用于学习如何使用 jquery ajax 发送信息