ASP.NETMVC中从部分视图(PostdynamicformdatafrompartialviewinASP.NETMVC)提交动态表单数据的方法。
创始人
2024-09-19 08:32:12
0
  1. 首先定义部分视图文件(Partial View file),在其中定义表单,如以下代码:

    @model dynamic

    @using(Html.BeginForm("ActionName", "ControllerName", FormMethod.Post)) { @Html.TextBox("Key")

    if(Model != null) { foreach(var prop in Model.GetType().GetProperties()) { @Html.TextBox(prop.Name, prop.GetValue(Model)) } }

    }

  2. 在Controller中定义Action,如以下代码:

    [HttpPost] public ActionResult ActionName(FormCollection formCollection) { dynamic myModel = new ExpandoObject(); foreach(string key in formCollection.AllKeys) { myModel.TryAdd(key, formCollection[key]); } return RedirectToAction("Index"); }

    然后在部分视图中,用BeginForm方法定义表单,让用户输入相关数据。在提交时,调用具体控制器中定义的Action,将表单数据作为parameter传给Action。然后使用动态类型(dynamic),能够随着程序运行动态添加属性的功能,将提交的数据转换为dynamic类型,方便处理。最后进行重定向,如重定向到Index视图界面。

    相较于直接在Controller中定义表单提交方法,定义的部分视图(Partial View)可以更好的重用,能方便更改样式、结构等,增加代码可读性和灵活性。

相关内容

热门资讯

iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
app安卓系统登录不了,解锁登... 最近是不是你也遇到了这样的烦恼:手机里那个心爱的APP,突然就登录不上了?别急,让我来帮你一步步排查...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...