zoukankan      html  css  js  c++  java
  • MVC 表单提交

    用户提交表单

    写法一(推荐)

    一,不带参数

     1 <body>  
     2     <!--一下写法生成:<form action="/Home/Index" method="post"> BeginForm里不带参数,就表示请求从哪里来,表单就提交到哪里去。  
     3         因为当前视图是Home控制器下的Index视图。所以,当请求这个Index视图的时候,form的action的提交的地址就是/Home/Index  
     4         -->  
     5     @using (Html.BeginForm("Add","Home",new{ id=200}))  
     6     {  
     7         <input type="text" name="userName" />  
     8     }  
     9   
    10 </body>

    二,带参数

    1 <body>  
    2     <!--一下写法生成:<form action="/Home/Add/200?pric=25" method="get">  -->  
    3     @using (Html.BeginForm("Add","Home",new{ id=200,pric=25},FormMethod.Get))  
    4     {  
    5         <input type="text" name="userName" />  
    6     }  
    7   
    8 </body> 

    三,程序员自己指定一个路由,来生成一个action的URL。使用Html.BeginRouteForm(...)

    不带参数:

    1 <body>  
    2     <!--由程序员指定一个路由规则,来生成一个action的URL  -->  
    3     <!--以下代码最后生成这样:<form action="/Index/Home" method="post">  注意:按照Default2这个路由规则来生成的,所有Index在前面-->  
    4     @using (Html.BeginRouteForm("Default2"))  
    5     {  
    6         <input type="text" name="userName" />  
    7     }  
    8   
    9 </body> 

    带参数:

    1 <body>  
    2     <!--由程序员指定一个路由规则,来生成一个action的URL  -->  
    3     <!--以下代码最后生成这样:<form action="/Index/Home/100" method="post"> 注意:按照Default2这个路由规则来生成的,所有Index在前面-->  
    4     @using (Html.BeginRouteForm("Default2",new{controller="Home",action="Index",Id=100},FormMethod.Post))  
    5     {  
    6         <input type="text" name="userName" />  
    7     }  
    8   
    9 </body> 

    下面是路由规则

     1 namespace MvcAppEF  
     2 {  
     3     public class RouteConfig  
     4     {  
     5         public static void RegisterRoutes(RouteCollection routes)  
     6         {  
     7             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  
     8   
     9             routes.MapRoute(  
    10                 name: "Default",  
    11                 url: "{controller}/{action}/{id}",  
    12                 defaults: new { controller = "Test", action = "Index2", id = UrlParameter.Optional }  
    13             );  
    14   
    15             routes.MapRoute(  
    16                 name: "Default2",  
    17                 //注意:为了测试Html.BeginRouteForm,我将{action}这个占位符与{controller}占位符换了一下位置。我们来检查一下Html.BeginRouteForm最后生成什么样的url?  
    18                 url: "{action}/{controller}/{id}/{name}",  
    19                 defaults: new { controller = "Test", action = "Index2", id = UrlParameter.Optional, name = UrlParameter.Optional }  
    20             );  
    21         }  
    22     }  
    23 }  

    写法二(不推荐)

    不带参数:

    1 <body>  
    2     <!--一下写法生成:<form action="/Home/Add" method="post">-->  
    3     @{Html.BeginForm("Add", "Home");}  
    4   
    5     <input type="text" name="userName" />  
    6   
    7     @{Html.EndForm();};  <!--这段代码最终生成:</form>;-->  
    8   
    9 </body>  

    带参数:

    1 <body>  
    2     <!--一下写法生成:<form action="/Home/Add/100" method="post">-->  
    3     @{Html.BeginForm("Add", "Home", new { id=100 },FormMethod.Post);}  
    4   
    5     <input type="text" name="userName" />  
    6   
    7     @{Html.EndForm();};  <!--这段代码最终生成:</form>;-->  
    8   
    9 </body>  
  • 相关阅读:
    利用arcserver 自带tomcat实现上传shapefile、cad等文件,然后用soe解析。
    Linux下ls命令显示符号链接权限为777的探索
    HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(一)
    利用Python sklearn的SVM对AT&T人脸数据进行人脸识别
    使用sklearn构建含有标量属性的决策树
    SEED缓冲区溢出实验笔记——Return_to_libc
    Python写的嗅探器——Pyside,Scapy
    PySide——Python图形化界面入门教程(六)
    PySide——Python图形化界面入门教程(五)
    PySide——Python图形化界面入门教程(四)
  • 原文地址:https://www.cnblogs.com/felix-wang/p/7324264.html
Copyright © 2011-2022 走看看