zoukankan      html  css  js  c++  java
  • ASP.NET MVC 之PartialView用法

    ASP.NET MVC 之PartialView用法
      第一种情况:

      PartialView中进行表单提示操作后,需要返回别一个PartialView来填充原来的这个PartialView的内容。这种情况需要我们的action返回值类型必须是PartialViewResult,返回代码必须是PartialView
      代码如下:

      

    1. public PartialViewResult ApplyRegister(User_Register_ApplyModel entity) 
    2.  
    3.   { 
    4.  
    5.   User_Register_Apply user_Register_Apply = new User_Register_Apply(); 
    6.  
    7.   TryUpdateModel(user_Register_Apply); 
    8.  
    9.   if (ModelState.IsValid) 
    10.  
    11.   { 
    12.  
    13.   user_Register_Apply.UserID = VCommons.Utils.GetNewGuid(); 
    14.  
    15.   VM = user_InfoManager.ApplyRegister(user_Register_Apply); 
    16.  
    17.   if (!VM.IsComplete) 
    18.  
    19.   { 
    20.  
    21.   VM.ToList().ForEach(i => ModelState.AddModelError("", i)); 
    22.  
    23.   } 
    24.  
    25.   else 
    26.  
    27.   return PartialView("ApplySuccess", entity.Email);//返回到指定的PartialView,它将替换ApplyRegister这个视图内容 
    28.  
    29.   } 
    30.  
    31.   return PartialView(); 
    32.  
    33.   } 

      第二种情况:

      在PartialView视图中提交表单,然后使整个页面进行一个跳转,需要注意的是不能用response.redirect,而必须用Jlocation.href,前者会在本partial位置进行跳换。  

        代码如下:

      

    1. public PartialViewResult UserLogOn(UserLogOnModel entity) 
    2.  
    3.   { 
    4.  
    5.   if (ModelState.IsValid) 
    6.  
    7.   { 
    8.  
    9.   if (LogOn(new User_Info { Email = entity.Email, Password = entity.Password }).IsComplete) 
    10.  
    11.   { 
    12.  
    13.   Response.Write("<script>location.href='home/index';</script>");//在ascx中跳到指定页,需要用JS方法 
    14.  
    15.   } 
    16.  
    17.   } 
    18.  
    19.   return PartialView(); 
    20.  
    21.   } 

     

         第三种情况:

      也是最简单的一种情况,在partialview中只是一个链接,没有提交动作,只是将partialview的部分进行重定向,这里代码使response.redirect()即可  

         代码如下:

      

    1. public PartialViewResult UserLogOn(UserLogOnModel entity) 
    2.  
    3.   { 
    4.  
    5.   if (ModelState.IsValid) 
    6.  
    7.   { 
    8.  
    9.   if (LogOn(new User_Info { Email = entity.Email, Password = entity.Password }).IsComplete) 
    10.  
    11.   { 
    12.  
    13.   Response.Redirect("/home/index"); 
    14.  
    15.   } 
    16.  
    17.   } 
    18.  
    19.   return PartialView(); 
    20.  
    21.   } 

      个人建议,对于partialview的action,如果只是返回视图,而不是返回json和其它格式的对象,最好使用PartialViewResult 进行返回,而不要使用ActionResult,这样可以避免一些不必要的麻烦。

  • 相关阅读:
    应用程序框架实战十三:DDD分层架构之我见
    Util应用程序框架公共操作类(三):数据类型转换公共操作类(扩展篇)
    Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)
    不能使用 float 和 double 来表示金额等精确的值
    JVM 字节码指令手册
    MyBatis: Invalid bound statement (not found)错误的可能原因
    Oracle:ORA-01219:database not open:queries allowed on fixed tables/views only
    手写 Spring MVC
    8080 端口被占用的解决方法 netstat -ano;taskkill (命令行)
    Java 工具类 IpUtil
  • 原文地址:https://www.cnblogs.com/zcm123/p/3129564.html
Copyright © 2011-2022 走看看