提交表单的一点问题,请大家看看。困扰很多天了

Yancey_Wu 2014-09-21 11:39:36
简单的事例一下:

<form action="/MutiForm/Index" method="post">
<table name="tb">
<tr>
<td><input type="text" name="SchoolName" value=" " />学校</td>
</tr>
<tr name ="itemtemplate">
<td><input type="text" name="ClassName" value="" />班级名称</td>
<td><input type="text" name="TeacherName" value="" />教室名称</td>
<td><input type="text" name="StudentName" value="" />学生名称</td>
<td><input type="text" name="Level" value="" />等级</td>
<td> <input type="checkbox" name="Habby" value="1" />吃饭<input type="checkbox" name="Habby" value="2" />睡觉<input type="checkbox" name="Habby" value="3" />打豆豆</td>
</tr>
<tr name="itemtemplate">

<td><input type="text" name="StudentName" value="" />学生名称</td>
<td><input type="text" name="Level" value="" />等级</td>
<td>
<input type="checkbox" name="Habby" value="1" />吃饭
<input type="checkbox" name="Habby" value="2" />睡觉
<input type="checkbox" name="Habby" value="3" />打豆豆
</td>
</tr>
</table>

<input type="submit" value="提交" />
<input type="button" value="提交 " id="btn" />
</form>

类似这个一个表单 学校部分是公共的,name = itemtemplate的tr部分是可以动态添加多个的,这里以两个为例。现在每个tr里都有name为habby的checkbox,在提交之后就全部合成一个了(应该能明白我的意思吧),我在后台无法解析哪个学生的爱好是哪些了。大家看看有没什么好办法解决这个问题。 感觉把name赋不同值也不是很好的办法,有没更好的办法呢?
...全文
225 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yancey_Wu 2014-09-22
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
这种有很多项的适合用ajax提交,这样没有必要一次性提交所有的数据——只有几条是真正被修改过的。 不同的数据项设置不同的id,ajax提交的时候根据所在的条目拼接参数,这样你的Controller也不用修改。
感谢回复 ajax提交的时候根据所在的条目拼接参数 不是很明白,在异步提交的时候重新构造表单? 还请指点一二。
threenewbee 2014-09-22
  • 打赏
  • 举报
回复
这种有很多项的适合用ajax提交,这样没有必要一次性提交所有的数据——只有几条是真正被修改过的。 不同的数据项设置不同的id,ajax提交的时候根据所在的条目拼接参数,这样你的Controller也不用修改。
骑猪看海 2014-09-22
  • 打赏
  • 举报
回复
action错了 public ActionResult Create(aa a){ db.Add(a) }
骑猪看海 2014-09-22
  • 打赏
  • 举报
回复
如果是MVC 学生部分结构应该是这样的 <tr name="itemtemplate"> <td><input type="text" name="item[0].StudentName" value="" />学生名称</td> <td><input type="text" name="item[0].Level" value="" />等级</td> <td> <input type="checkbox" name="item[0].Habby" value="1" />吃饭 <input type="checkbox" name="item[0].Habby" value="2" />睡觉 <input type="checkbox" name="item[0].Habby" value="3" />打豆豆 </td> </tr> 每添加一行index加1,后台实体接收 public class aa{ public IList<Student> item{get;set;} } Action public ActionResult Create(Student student){ db.Add(student) }
Yancey_Wu 2014-09-22
  • 打赏
  • 举报
回复
感觉各位的回复。 或许我描述不到位,感觉没有很给力的方法啊。 我目前的办法是获取表单数据进行拼接,异步提交到后台。量有点大,到了控制器还需要再处理,感觉不很方便。表单参数大约有30多个。希望大家多多交流一下。
宝_爸 2014-09-22
  • 打赏
  • 举报
回复
引用 2 楼 wY00KirA 的回复:
[quote=引用 1 楼 caozhy 的回复:] 这种有很多项的适合用ajax提交,这样没有必要一次性提交所有的数据——只有几条是真正被修改过的。 不同的数据项设置不同的id,ajax提交的时候根据所在的条目拼接参数,这样你的Controller也不用修改。
感谢回复 ajax提交的时候根据所在的条目拼接参数 不是很明白,在异步提交的时候重新构造表单? 还请指点一二。[/quote] 不需要重新构造表单, 一般用jquery的.ajax函数直接调用controller, 例如 <script type="text/javascript"> $(document).ready(function () { var serviceURL = '/AjaxTest/FirstAjax'; $.ajax({ type: "POST", url: serviceURL, data: param = "", contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc }); function successFunc(data, status) { alert(data); } function errorFunc() { alert('error'); } }); </script> data 部分,你要构造你自己的post参数。
sy401042879 2014-09-22
  • 打赏
  • 举报
回复
要分组,好像只有把name设置为不同的值。想知道那个id变成多少了。可以在前台用hidden控件记录上那个值,后台再获取。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧