javascript - 使用 jQuery 为 c# 构建视图模型
问题描述
我有一个视图模型,我将该视图模型传递给控制器,但模型属性之一是其他类的列表。所以我无法通过 jQuery 绑定它。
我有以下视图模型。
public class ToolsAddViewModel
{
public string Tools_Name { get; set; }
public string Tools_Desc { get; set; }
public int Category_ID { get; set; }
public List<ToolsParamsBlockViewModel> Params_List { get; set; }
}
用作列表类型的 ToolsParamsBlockViewModel 类
public class ToolsParamsBlockViewModel
{
public int Params_ID { get; set; }
public string Params_CSS_Attribute { get; set; }
public int Params_Priority { get; set; }
}
这是我处理视图模型数据的控制器方法
[HttpPost]
public ActionResult Manage(ToolsAddViewModel toolsAddViewModel)
{
//insert viewmodel data into database
return RedirectToAction("Index", "Tools");
}
最后我尝试使用 jQuery 将数据添加到视图模型中,就是这样。我使用表格将列表添加到Params_List
属性中。
$("#btnSave").on("click", function () {
var ParamsList = [];
$('#paramsBlockTable tbody > tr').each(function () {
var SingleParams = [];
$(this).find("input,select").each(function () {
SingleParams.push($(this).val());
console.log(values);
});
ParamsList.push(values);
});
var ToolsModel = {
"ID": $("#ID").val(),
"Tools_Name": $("#Tools_Name").val(),
"Category_ID": $("#Category_ID").val(),
"Params_List": ParamsList,
"ScriptFiles_IDs": $("#ScriptFiles_IDs").val(),
"Tools_SEO_Keyword": $("#Tools_SEO_Keyword").val(),
"Tools_Desc": $("#Tools_Desc").val(),
}
console.log(ToolsModel);
});
这里ParamsList
有表格行元素的数组,但我需要将其转换为视图模型格式。提前致谢
解决方案
感谢phuzi它为我所做的工作:)
在这里,我更改了一些代码块。
$("#btnSave").on("click", function () {
var ParamsList = [];
$('#paramsBlockTable tbody > tr').each(function () {
let SingleParams = {
Params_ID: $(this).find(".params-id").val(),
Params_CSS_Attribute: $(this).find(".params-attribute").val(),
Params_Priority: $(this).find(".params-priority").val()
}
ParamsList.push(SingleParams);
});
var ToolsModel = {
"ID": $("#ID").val(),
"Tools_Name": $("#Tools_Name").val(),
"Category_ID": $("#Category_ID").val(),
"Params_List": ParamsList,
"ScriptFiles_IDs": $("#ScriptFiles_IDs").val(),
"Tools_SEO_Keyword": $("#Tools_SEO_Keyword").val(),
"Tools_Desc": $("#Tools_Desc").val(),
}
console.log(ToolsModel);
});
推荐阅读
- php - 如何访问本地文件?
- python - 当用户在他的个人资料中更改他的电子邮件时,有没有办法确认用户电子邮件 - django
- r - How can I convert a list of data frames into a data frame of lists using purrr or tidyr?
- typescript - Fastify: ts-node shoot error 属性 'foo' 在类型 'FastifyInstance<...>' 上不存在
- javascript - 为微型富文本编辑器创建点击弹出窗口
- typescript - ReactNative Animated.ScrollView ref TypeScript 定义
- javascript - 我不确定为什么我的 Fetch-Post 请求未定义
- flutter - 由于谷歌地图,颤振应用程序无法编译
- unique - vega:过滤每组的第n个
- ruby-on-rails - 如何在 Ruby on Rails 6 上正确查询 Postgresql JSONB 哈希数组?