当前位置:  开发笔记 > 后端 > 正文

将ASP.NET MVC View上的各个按钮映射到控制器操作

如何解决《将ASP.NETMVCView上的各个按钮映射到控制器操作》经验,为你挑选了1个好方法。

我有一个应用程序,我需要用户能够更新或删除数据库中的数据行.使用我视图的.aspx文件中的foreach循环向用户显示行.每行将有两个文本字段(txtName,txtDesc),一个更新按钮和一个删除按钮.我不确定的是,如何让更新按钮将消息发送到控制器以更新哪一行?我可以看到这样做的几种方式:

    将每一行放在它自己的表单标记中,然后单击更新按钮时,它将仅提交该行的值(还将有一个带有rowId的隐藏字段),控制器类将所有的post值作为参数到控制器上的Update方法.

    不知何故,按钮的编写方式只能通过POST向控制器发回该行的值.

有办法做到这一点吗?我关心的一件事是,如果每一行的ASP.NET控件(txtName1,txtDesc1,txtName2,txtDesc2)分配的控件名称不同,那么它们的值将如何映射到Controller方法的正确参数?



1> rodbv..:

您可以使用多个表单,并将表单上的操作设置为如下所示:

所以你会拥有YourController/YourAction/1,YourController/YourAction/2等等.

不需要为不同的文本框指定不同的名称,只需将它们称为txtName,txtDesc等(甚至更好,去掉那些txt前缀).由于它们的形式不同,因此不会混淆.

然后在行动上你做了类似的事情

public ActionResult YourAction(int id, string username, string description)

其中,用户名,描述与您在表单控件上使用的名称相同(因此它们会自动映射).id参数将自动映射到您在表单操作上放置的数字.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有