gpt4 book ai didi

c# - ASP.NET MVC 和 JQuery 动态表单内容

转载 作者:太空狗 更新时间:2023-10-29 21:48:14 26 4
gpt4 key购买 nike

我想使用 JQuery 将字段动态添加到 ASP.NET MVC 表单。

例子:

<script language="javascript" type="text/javascript">
var widgets;

$(document).ready(function() {
widgets = 0;
AddWidget();
});

function AddWidget() {
$('#widgets').append("<li><input type='text' name='widget" + widgets + "'/></li>");
widgets++;
}
</script>

<ul id="widgets">
</ul>

这可行,但我打算在 Controller 中手动迭代表单值:

[AcceptVerbs("Post")]
public ActionResult AddWidget(FormCollection form)
{
foreach (string s in form)
{
string t = form[s];
}

return RedirectToAction("ActionName");
}

但是当我将用户发送回 Controller 中的 Get Action 时,我想到了我将不得不使用输入的值设置 FormData,然后使用 <% 脚本迭代添加小部件。

在当前版本中执行此操作的最佳方法是什么(我相信是 5 个)?

最佳答案

我的解决方案可能是这样的(伪代码):

<script language="javascript" type="text/javascript">
var widgets;

$(document).ready(function() {
widgets = 0;
<% for each value in ViewData("WidgetValues") %>
AddWidget(<%= value %>);
<% next %>
});

function AddWidget( value ) {
$('#widgets').append("<li><input type='text' name='widget" + widgets +
"'>" + value + "</input></li>");
widgets++;
}
</script>

<ul id="widgets">
</ul>

在 Controller 中:

[AcceptVerbs("Post")]
public ActionResult AddWidget(FormCollection form)
{
dim collValues as new Collection;
foreach (string s in form)
{
string t = form[s];
collValues.add( t )
}
ViewData("WidgetValues") = collValues;
return RedirectToAction("ActionName");
}

你可以稍后制定细节
(很抱歉将 VB 与 C# 混合使用,我是 VB 人)

关于c# - ASP.NET MVC 和 JQuery 动态表单内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/463644/

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