我们在做MVC 进行某一块的局部刷新,有的使用AJAX 请求,有的使用局部页;

下面我给大家推荐一种使用局部页面实现的这种方式:

第一步:

嵌套视图页

 <div id="showAudit">
@*操作信息*@
@{Html.RenderPartial("ShowAudit", Model);}
</div>

第二步:

编写后台代码

[HttpGet]
public ActionResult ShowAudit(int id)
{
using (var _ctx = new BtDbContext())
{
var memberSupply = _ctx.MemberSupplys.FirstOrDefault(c => c.MemberId == id); MemberSupplyModel model = new MemberSupplyModel(); if (memberSupply != null)
{ model.MemberId = memberSupply.MemberId;
model.OrderNumber = memberSupply.OrderNumber;
model.CardId = memberSupply.CardId;
model.Name = memberSupply.Name;
model.MemberMobile = memberSupply.MemberMobile; model.State = memberSupply.State;
model.CreateTime = memberSupply.CreateTime;
model.UpdateTime = memberSupply.UpdateTime;
model.CompanyName = memberSupply.CompanyName;
model.CompanyAddress = memberSupply.CompanyAddress; model.CompanyPhone = memberSupply.CompanyPhone;
model.CompanyUrl = memberSupply.CompanyUrl;
model.ManagementProduct = memberSupply.ManagementProduct;
model.ContactJob = memberSupply.ContactJob;
model.ContactPeople = memberSupply.ContactPeople; model.ContactMobile = memberSupply.ContactMobile;
model.Memo = memberSupply.Memo;
model.OpEmployeeName = memberSupply.OpEmployeeName;
} return PartialView(model);
}
}

第三步:

编写视图页面:

@using WechatMall.Common.Extensions;

@model WechatMall.Model.ViewModel.MemberSupplyModel

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@if (Model.State != WechatMall.Common.EnumHelper.MemberApplyForStatus.AuditNot)
{ <table class="ltable" style="margin-top:30px;">
<thead>
<tr>
<th colspan="" style=" text-align:left;padding-left:20px; font-weight:bold; background-color:#ffffff; ">操作信息</th>
</tr>
</thead>
<tbody class="ltbody">
<tr>
<td style="width:18%">@Html.DisplayNameFor(model => model.OpEmployeeName)</td>
<td style="width:18%">
@Html.DisplayFor(modelItem => Model.OpEmployeeName)
</td> <td>@Html.DisplayNameFor(model => model.State)</td>
<td style="width:15%">
@Model.State.ToDescriptionString()
</td> <td>@Html.DisplayNameFor(model => model.UpdateTime)</td>
<td>
@Html.DisplayFor(modelItem => Model.UpdateTime)
</td>
</tr>
<tr>
<td>@Html.DisplayNameFor(model => model.Memo)</td>
<td colspan="">
@Html.DisplayFor(modelItem => Model.Memo)
</td>
</tr>
</tbody>
</table>
}

第四步:

编写JS 代码

    $("#sbmbtn").click(function () {

            $.post('@Url.Action("AuditDispose", "Members")', $("#form1").serialize(), function (json) {

                if (json.f) {
$("#showAudit").load('@Url.Action("ShowAudit", "Members", new { id = Model.MemberId }, Request.Url.Scheme)')
}
else {
alert(json.ext);
}
}); });

这样就可以轻松搞定了;推荐一下参考网址:https://cmatskas.com/update-an-mvc-partial-view-with-ajax/

那有里有不对的地方希望大家指出来,或者有更好的方法提出来,大家相互学习,进步..

MVC 局部加载页面的实例的更多相关文章

  1. 在.NET MVC下不用iframe实现局部加载html

    最近在做个后台系统,之前都是用iframe来实现加载内容,左侧菜单不刷新.但一直不喜欢这种方法,有许多弊端.今天自己在网上查找了一番后找到了比较好的替代方案: 一.利用html的锚点标记来实现无刷新页 ...

  2. jquery ajax局部加载方法介绍

    [导读] 在jquery中实现ajax加载的方法有很多种,不像以前的js的ajax只有那一种,下面我们介绍jquery ajax实现局部加载方法总结,有需要了解的朋友可参考.例 代码如下复制代码 $ ...

  3. 模拟jQuery中的ready方法及实现按需加载css,js实例代码

    这篇文章介绍了模拟jQuery中的ready方法及实现按需加载css,js实例代码,有需要的朋友可以参考一下     一.ready函数的实现经常用jQuery类库或其他类库中的ready方法,有时候 ...

  4. unobtrusive验证,ajax局部加载后验证失效解决方法

    页面加载后运行此代码 $(function() {$.validator.unobtrusive.parse($("form")); }); 原因: 页面加载后unobtrusiv ...

  5. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  6. HBuilder mui 手机app开发 Android手机app开发 ios手机app开发 打开新页面 预加载页面 关闭页面

    创建子页面 在mobile app开发过程中,经常遇到卡头卡尾的页面,此时若使用局部滚动,在android手机上会出现滚动不流畅的问题: mui的解决思路是:将需要滚动的区域通过单独的webview实 ...

  7. webclient 比浏览器加载页面慢的一个问题

    测试中发现webclient 比浏览器加载页面慢的一个问题:原因WebClient 支持 gzip, deflate,但是未设置 解决方案: class WebClientEx : WebClient ...

  8. RadioGroup+Fragment 使用Fragment的add()方法,防止使用replace每次都重新加载页面,造成资源浪费

    radiogroup+fragment是很常用的主页导航控件,之前为了代码简便一直使用的replace()替换fragment,代码如下: getSupportFragmentManager().be ...

  9. jquery加载页面的方法

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别.   1.$(function(){ $("#a&q ...

随机推荐

  1. Linq把一个DataTable根据一列去除重复数据

    DataTable dt_temp = dt.AsEnumerable().Cast<DataRow>().GroupBy(p => p.Field<string>(&q ...

  2. Android内存泄漏分析

    周末去上海参加了安卓巴士组织的技术论坛,去了才发现自己基础很渣..... 其中提到了android的内存泄漏的问题,回来马上度娘(虽说度娘很渣),整理如下: 一.单例造成的内存泄漏 因为单例的静态特性 ...

  3. 详解android.mk-2016.01.18

    1 Android.mk作用 当使用JNI开发时,我们需要创建一个native工程,Android.mk就是一个makefile的配置文件,帮助我们把编写的C/C++代码编译成动态或者静态的链接库. ...

  4. HTML你应该知道的三大基本元素

    顶级.块级.内联,html元素的三大分类 如果将这些元素细分, 又可以分别归为顶级(top-level)元素,块级(block-level)元素和内联(inline)元素. 1. Top-level ...

  5. ASP.NET的SEO--- Global.asax和HttpModule中的RewritePath()方法

    本系列目录 因为在网上搜到了很多这方面的文章,而且UrlRewrite中SEO中的重要性也在逐步下降,所以这一节我就写得简单一些.以下是几个重点: 1.UrlRewrite,顾名思义,只是针对URL进 ...

  6. nginx之keepalive

    一:设置 keepalive_timeout  0; 发curl: [xxx ~]$ curl -H "Keep-Alive: 60" -H "Connection: k ...

  7. 017Makefile工程管理

    1.为什么需要Makefile? 利用Makefile和make的合作,可以把很多很多的工作合并成一个非常简单的命令:make: make能够使整个程序的编译.链接只需要一个命令(make)就可以完成 ...

  8. RegisterStartupScript和RegisterClientScriptBlock的区别

    1.  //注册到 <form> 尾部 ,HTML元素已加载完毕    this.Page.ClientScript.RegisterStartupScript(this.GetType( ...

  9. 破解source insignt方法

    source insignt版本:官网3.5版本 方法:在桌面建立一个文本文档,将下面内容拷贝进去,保存为.reg文件(注意拓展名问题,自己设置),然后双击即可. win7  64bit Window ...

  10. asp.net webuploader粘贴,拖拽,点击上传图片

    demo.html代码:<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset= ...