asp.net-mvc – 如何动态地将值从提交按钮传递给mvc?
发布时间:2020-12-16 09:13:52 所属栏目:asp.Net 来源:网络整理
导读:我从几天开始使用MVC,并且在学习MVC中的控制器和视图之间进行通信时遇到了很多问题 我有以表格形式显示员工列表的页面. 模型是Employee Model的IEnumerable类型 它有三个按钮,分别是编辑,创建,删除,详细信息. 需求: 我使用了按钮,所有都应该是HTTP Post请求
我从几天开始使用MVC,并且在学习MVC中的控制器和视图之间进行通信时遇到了很多问题
我有以表格形式显示员工列表的页面. 模型是Employee Model的IEnumerable类型 它有三个按钮,分别是编辑,创建,删除,详细信息. 需求: 这是我的观看代码: @using (Html.BeginForm()) { <p> <input type="submit" name="CreateView" value="Create New(Post)" formaction="CreateView" formmethod="post" /> </p> <table class="table"> <tr> -------Headings of table------- </tr> @foreach (var item in Model) { <tr> <td>@Html.DisplayFor(modelItem => item.EmployeeName)</td> <td>@Html.DisplayFor(modelItem => item.EmployeeGender)</td> <td>@Html.DisplayFor(modelItem => item.EmployeeCity)</td> <td>@Html.DisplayFor(modelItem => item.DepartmentId)</td> <td>@Html.DisplayFor(modelItem => item.EmployeeDateOfBirth)</td> <td> <input type="submit" name="EditView" value="Edit(Post)" formaction="Edit" formmethod="post" /> | <input type="submit" name="DetailsView" value="Details(Post)" formaction="Details" formmethod="post" /> | <input type="submit" value="Delete(Post)" onclick="return confirm('Are you sure you want to delete record with EmployeeId = @item.EmployeeId')" /> </td> </tr> } </table> } 这里删除按钮有效,因为我不需要员工的ID. 在获取请求类型中,我曾经像这样传递: @Html.ActionLink("Details","Details",new { id = item.EmployeeId }) 对于单个提交按钮,我曾经传递过这样的数据 @using (Html.BeginForm("Details","BusinessLayer",FormMethod.Post,new { id = item.EmployeeId })) 任何人都可以告诉我我可以尝试实现这一目标的方法吗? 解决方法
您可以拥有3个单独的表单标签,每个按钮一个.只需确保表单中包含要传递的数据的输入字段.例如,如果您的操作方法接受带有名为EmployeeId的参数的EmployeeId,则您应该在输入隐藏字段中具有相同的表单内部.
@model IEnumerable<Employee> <table> @foreach(var item in Model) { <tr> <td>@item.EmployeeName</td> <td>@item.EmployeeGender</td> <td>@item.EmployeeCity</td> <td>@item.EmployeeDateOfBirth</td> <td> @using(Html.BeginForm("Details","YourControllerName")) { <input type="hidden" name="EmployeeId" value="@item.EmployeeId" /> <input type="submit" value="Details" /> } @using(Html.BeginForm("Edit","YourControllerName")) { <input type="hidden" name="EmployeeId" value="@item.EmployeeId" /> <input type="submit" value="Edit" /> } @using(Html.BeginForm("Delete","YourControllerName")) { <input type="hidden" name="EmployeeId" value="@item.EmployeeId" /> <input type="submit" value="Delete" /> } </td> </tr> } 还要记住,嵌套表单是无效的HTML.所以一定要确保没有. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.net没有为某些用户代理生成javascript
- 如何以编程方式测量ASP.NET中的字符串像素宽度?
- cors – 如何解决WebAPI OData Owin Ninject的处理程序映射
- asp.net – 如何使用Html.ActionLink在标记中添加span标记
- asp.net-mvc-3 – MVC3,多文件上传,模型绑定
- asp.net – 在Azure Compute Emulator之外运行DiagnosticMo
- asp.net-mvc – 如何注入Azure工作者角色?
- asp.net-mvc – WebApiConfig.cs和RouteConfig.cs之间的区别
- ASP.Core获取appsettings.json配置信息项
- asp-classic – 经典的ASP页面是否会运行在Windows 7之后的
推荐文章
站长推荐
- asp.net – 当绑定值包含冒号时,如何绑定GridVie
- asp.net-mvc – 如何在c#/ asp.net中使用jquery或
- 互联网级监控系统必备-时序数据库之Influxdb技术
- asp.net-mvc-4 – 可为空的可选url参数的ASP.NET
- asp.net – BuildManager.GetReferencedAssembli
- asp.net – 如何防止CPU占用100%,因为iis中的工
- ASP.NET Cookie过期时间始终是1/1/0001 12:00 AM
- 实体框架 – 在Db初始化程序的种子方法中创建Asp
- asp.net – 禁用Internet Explorer 8开发人员工具
- asp.net – 当usercontrol变得可见时执行javascr
热点阅读