html – ASP.NET MVC动态表单

html – ASP.NET MVC动态表单,第1张

概述任何人都可以建议用ASP.NET MVC开发动态表单的好方法吗? 我在页面上有级联下拉列表(下拉列表中的选项取决于在上一个下拉列表中选择的值). 所有值都来自数据库. 如何使用ASP.NET MVC实现此类行为? 当然,我希望在提交表单时收到控制器中的所有值. 如果您需要在表单中包含一些动态字段,最好的方法是使用一些高级的javascript框架,如 Angular, Backbone, Knoc 任何人都可以建议用ASP.NET MVC开发动态表单的好方法吗?

我在页面上有级联下拉列表(下拉列表中的选项取决于在上一个下拉列表中选择的值).

所有值都来自数据库.

如何使用ASP.NET MVC实现此类行为?

当然,我希望在提交表单时收到控制器中的所有值.

解决方法 如果您需要在表单中包含一些动态字段,最好的方法是使用一些高级的JavaScript框架,如 Angular,Backbone,Knockout等.

如果你需要或多或少的东西,你就可以使用Knockout了.对于更高级的场景,我会推荐Angular,但这是我个人的偏好.

以下是使用Knockout的动态表单的简单实现:

var model = {    users: ko.observableArray(),addUser: function() {        this.users.push({ name: ko.observable() });    }};ko.applyBindings(model);
<script src="https://cdnjs.cloudflare.com/AJAX/libs/knockout/3.2.0/knockout-min.Js"></script><div data-bind="foreach: users">    <input type="text" data-bind="value: name" /><br /></div><button data-bind="click: addUser">Add user</button><ul data-bind="foreach: users">    <li data-bind="text: name"></li></ul>

现在,ASP.NET MVC怎么样?

这更棘手.也许最好也是最简单的方法是使用AJAX并将JsON发布到ASP.NET MVC Action.首先,您需要从表单中获取JsON对象.淘汰赛很简单:

var Json = ko.toJsON(model);

现在,当我们知道如何从表单中获取JsON时,下一步是将数据发送到Action. jQuery非常适合:

$.AJAX({    type: "POST",url: "@Url.Action("AddUser")",data: ko.toJsON(model).users,// Serialize to JsON and take users array    accept: 'application/Json',success: function (data) { alert("Done!"); } // Your success callback});

在我们的例子中,我们基本上发送一个字符串数组,因此ASP.NET MVC *** 作应该如下所示:

[httpPost]public JsonResult AddUser(List<string> users){    return Json(data); // return something}

这绝对不是如何实现动态表单的唯一选择,但我认为它非常有效.希望能帮助到你.

总结

以上是内存溢出为你收集整理的html – ASP.NET MVC动态表单全部内容,希望文章能够帮你解决html – ASP.NET MVC动态表单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1107432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存