【发布时间】:2012-10-21 11:30:20
【问题描述】:
我正在使用 ASP.NET MVC 开发一个非常灵活的 HTML 表单。我有一个“数量”输入元素,它稍后会在表单中动态创建 [其值] 输入元素集。
例如,如果数量设置为 1,我有一组用于用户名、房间号和建筑物名称的文本框。但如果 Quantity 设置为 10,则每个文本框都会出现 10 个。
显然,当数据回传到服务器时,我需要正确地将每个用户名、房间和建筑物分组在一起,而不是把它们弄得乱七八糟。
似乎最简单的方法是使每个集合都相同:
<input type="text" name="username"/>
<input type="text" name="room"/>
<select name="building"> <!--All this x Quantity-->
<option value="TARDIS">TARDIS</option>
<option value="USS Enterprise">USS Enterprise</option>
</select>
<input type="text" name="username"/> <!--And so on...-->
然后相信 POST 字符串将保留元素在 HTML 中写入的顺序,从而允许我在将这些值捕获到 usernames[0]、rooms[0] 的数组中后在服务器上回复, 和 buildings[0] 一起出现,相同索引的所有其他条目也是如此。
这是否 100% 有效?安全吗?我可以想出一些方法来在输入组之间建立一个快速的关联,但是它们涉及到一些有点刺激性的 javascript 和一些非常令人讨厌的 C#。这似乎可以开箱即用。嗯?
【问题讨论】:
标签: asp.net html asp.net-mvc forms post