我有一个应用程序,我需要用户能够更新或删除数据库中的数据行.使用我视图的.aspx文件中的foreach循环向用户显示行.每行将有两个文本字段(txtName,txtDesc),一个更新按钮和一个删除按钮.我不确定的是,如何让更新按钮将消息发送到控制器以更新哪一行?我可以看到这样做的几种方式:
有办法做到这一点吗?我关心的一件事是,如果每一行的ASP.NET控件(txtName1,txtDesc1,txtName2,txtDesc2)分配的控件名称不同,那么它们的值将如何映射到Controller方法的正确参数?
rod*_*dbv 11
您可以使用多个表单,并将表单上的操作设置为如下所示:
<form method="post" action="/YourController/YourAction/<%=rowId%>">
Run Code Online (Sandbox Code Playgroud)
所以你会拥有YourController/YourAction/1
,YourController/YourAction/2
等等.
不需要为不同的文本框指定不同的名称,只需将它们称为txtName,txtDesc等(甚至更好,去掉那些txt前缀).由于它们的形式不同,因此不会混淆.
然后在行动上你做了类似的事情
public ActionResult YourAction(int id, string username, string description)
Run Code Online (Sandbox Code Playgroud)
其中,用户名,描述与您在表单控件上使用的名称相同(因此它们会自动映射).id参数将自动映射到您在表单操作上放置的数字.
归档时间: |
|
查看次数: |
14189 次 |
最近记录: |