使用jquery加载部分视图01-使用$.get()

本文介绍如何在ASP.NET MVC应用中利用jQuery异步加载部分视图,通过HomeController的ProductPartial方法返回产品列表的部分视图,并使用jQuery的$.get方法将这部分视图插入到主视图的指定位置,实现页面局部刷新。

使用Html.RenderParital或Html.RenderAction可以在主视图中加载部分视图。
两种方法是有区别的,在"RenderPartial和RenderAction区别"中体验过。

本篇体验使用jquery加载部分视图。

□ HomeController

using System.Web;
using System.Web.Mvc;
using _01.Models;
 
namespace _01.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
 
        public ActionResult ProductPartial()
        {
            List<Product> products = new List<Product>()
            {
                new Product(){ID = 1, Name = "产品1", Price = 85.00M},
                new Product(){ID = 2, Name = "产品2", Price = 95.00M}
            };
            return PartialView("_ProductPartial", products);
        }
    }
}
 

□ View Model

namespace _01.Models
{
    public class Product
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public decimal Price { get; set; }
    }
}

□ 部分视图_ProductPartial.cshtml

@model IEnumerable<_01.Models.Product>
 
@foreach (var item in Model)
{
    @item.ID 
    @item.Name
    @item.Price.ToString("c")
    <br/>
}
 

□ 主视图 Index.cshtml

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
 
<h2>Index</h2>
 
<div id="divProduct"></div>
@section scripts
{
    <script type="text/javascript">
        $(document).ready(function () {
            $.get("@Url.Action("ProductPartial", "Home")", function (data) {
                $('#divProduct').replaceWith(data);
            });
        });
    </script>
}
 

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值