c# – 动态地将字段添加到Razor表单

c# – 动态地将字段添加到Razor表单,第1张

概述我有一个Razor表单,其中包含我想要动态添加项目的项目列表/表格.您可以从下拉列表中选择项目,单击“添加”,下拉列表中的项目将添加到列表中.然后,当我提交表单并且我的控制器的HttpPost方法可以处理输入时,我希望所有这些都通过POST发送. 有没有办法动态添加字段,仍然能够接受它们作为HttpPost函数中的参数? 第一个答案是正确的,因为您可以遍历表单集合以获取表单元素中动态插入字段的值. 我有一个Razor表单,其中包含我想要动态添加项目的项目列表/表格.您可以从下拉列表中选择项目,单击“添加”,下拉列表中的项目将添加到列表中.然后,当我提交表单并且我的控制器的httpPost方法可以处理输入时,我希望所有这些都通过POST发送.

有没有办法动态添加字段,仍然能够接受它们作为httpPost函数中的参数?

解决方法 第一个答案是正确的,因为您可以遍历表单集合以获取表单元素中动态插入字段的值.我只是想补充一点,你可以利用一些整洁的绑定.

下面的代码接受针对 *** 作发布的动态文本框的动态列表.此示例中的每个文本框都与dynamicFIEld具有相同的名称. MVC很好地将这些绑定到一个字符串数组中.

完整的.NET小提琴:https://dotnetfiddle.net/5ckOGu

示例代码(为清晰起见,代码段)动态添加示例字段

@using (HTML.BeginForm())            {                @HTML.AntiForgeryToken()                <div ID="fIElds"></div>                <button>submit</button>            }            <div ><b>Data:</b> @VIEwBag.Data</div>    <script type="text/JavaScript">        $(document).ready(function() {            var $fIElds = $('#fIElds');            $('#btnAddFIEld').click(function(e) {                e.preventDefault();                $('<input type="text" name="dynamicFIEld" /><br/>').appendTo($fIElds);            });        });    </script>

接受帖子中动态字段的 *** 作的示例代码.

[httpPost]    public ActionResult Index(string[] dynamicFIEld)    {        VIEwBag.Data = string.Join(",",dynamicFIEld ?? new string[] {});        return VIEw();    }

输出截图

总结

以上是内存溢出为你收集整理的c# – 动态地将字段添加到Razor表单全部内容,希望文章能够帮你解决c# – 动态地将字段添加到Razor表单所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1238982.html

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

发表评论

登录后才能评论

评论列表(0条)

保存