c# - 在 ASP.NET MVC 中动态添加文本框
问题描述
我在一个 ASP.NET MVC 项目上工作,我需要一些帮助。当用户单击“添加文本框”时,我需要能够创建 x 个文本框。当用户进入页面时,会加载一个视图模型。此视图模型需要处理用户在页面上创建的 x 个文本框,以便在发布页面时这些文本框是模型的一部分。模型应该看起来像这样..
public class PlanViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public List<EventViewModel> EventList { get; set; } // this should be the list of textboxes that the user "create" by clicking add new
}
public class EventViewModel
{
public string Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public string Description { get; set; }
}
我对如何做到这一点有点迷茫,因此感谢您的帮助。
更新
我添加了这个添加文本框客户端的javascript..
<script type="text/javascript">
function GetDynamicTextBox(value) {
return('<input type="text" name="events[0].Key" value="box1" /><input type="text" name="events[0].Value.StartDate" value="box2"/><button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>');
}
function AddTextBox() {
var div = document.createElement('DIV');
div.innerHTML = GetDynamicTextBox("");
document.getElementById("divcontent").appendChild(div);
}
function RemoveTextBox(div) {
document.getElementById("divcontent").removeChild(div.parentNode);
}
</script>
<div id="divcontent" class="form-group">
<button type="button" class="btn btn-sm btn-primary" onclick="AddTextBox()"><i class="fa fa-angle-right"></i> Add</button>
</div>
我想我只需要为这样的文本框添加唯一的 id ......
events[0].Key
events[1].Key
events[2].Key
等等..
但我不知道怎么做。有谁知道?
解决方案
您可以添加一个字符串列表,像这样
public String[] MyTextFields
然后使用 Javascript 创建 HTML,如下所示:
<input name="myTextFields[0]"></input>
<input name="myTextFields[1]"></input>
推荐阅读
- postgresql - PostgreSQL:第一个和最后一个之间的计算
- vue.js - vuetify.js:加载了 vue-router 的 v-form-textfield 不可见
- java - 如何检查一个字符串是否包含Java中所有重复的字母?
- python-3.x - 给定一个参数化测试,我怎样才能为所有参数只打印一次消息?
- azureservicebus - Masstransit Azure 服务总线和 DI 请求/响应模型
- ruby-on-rails - 使用 JSONAPI 在请求中发送文件
- c - 将值输入到结构化数组中的数组时出现分段错误
- flutter - 如何在 Flutter 中传递回调
- c# - PeekMessage TranslateMessage DispatchMessage。有没有办法在没有 EXTERN 的 .NET 中本地执行此操作?
- design-patterns - 如何在询问海龟上下文中获取孵化海龟的子 ID?