成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? JQuery異步加載PartialView的方法
全站頭部文字 我要出現在這里
JQuery異步加載PartialView的方法 683 2024-02-29   

本文實例講述了JQuery異步加載PartialView的方法。分享給大家供大家參考,具體如下:

需求:頁面上有dropdown之類的控件,當選擇里面不同值的時候,下面關聯的內容跟著改變。

思路:把與 dropdown關聯的會改變的內容放到PartialView(ascx)里,用JQuery綁定dropdown的change事件,當選擇值改變時,用JQuery ajax請求與PartialView相關的Action,得到數據后講取到的內容覆蓋原來的內容。

實現:

Model 類:

public class User
{
    public string UserName { get; set; }
    public int Age { get; set; }
    public int UserID { get; set; }
    public static List<User> GetUsers()
    {
      List<User> userList = new List<User>();
      User user = null;
      user = new User();
      user.UserID = 1;
      user.UserName = "小明";
      user.Age = 20;
      userList.Add(user);
      user = new User();
      user.UserID = 2;
      user.UserName = "小紅";
      user.Age = 21;
      userList.Add(user);
      user = new User();
      user.UserID = 3;
      user.UserName = "小強";
      user.Age = 22;
      userList.Add(user);
      return userList;
    }
    public static User GetUserById(int userId)
    {
      return GetUsers().SingleOrDefault(u=>u.UserID==userId);
    }
}

我們的PartialView:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MvcApplication2.Models.User>" %>
<div>
  <%if (Model != null)
   {%>
  用戶名:<%=Model.UserName%><br />
  年齡:<%=Model.Age%>
  <%} %>
</div>

主頁面:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication2.Models.User>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
  Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  <h2>Index</h2>
  <%=Html.DropDownList("users", ViewData["users"] as List<SelectListItem>)%>
  <div id="userDetails">
    <%Html.RenderPartial("UserDetails", Model); %>
  </div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HeadMeta" runat="server">
  <script language="javascript" src="http://www.gimoo.net/Scripts/user.js" type="text/javascript"></script>
</asp:Content>

Controller類:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication2.Models;
namespace MvcApplication2.Controllers
{
  public class UserController : Controller
  {
    public ActionResult Index()
    {
      List<SelectListItem> userIdList = new List<SelectListItem>();
      foreach (MvcApplication2.Models.User item in MvcApplication2.Models.User.GetUsers())
      {
        userIdList.Add(new SelectListItem { Text = item.UserName,Value = item.UserID.ToString()});
      }
      ViewData["users"] = userIdList;
      MvcApplication2.Models.User user = MvcApplication2.Models.User.GetUsers().FirstOrDefault();
      return View(user);
    }
    public PartialViewResult UserDetails(int? userId)
    {
      MvcApplication2.Models.User user = null;
      if (userId == null)
      {
        user = MvcApplication2.Models.User.GetUsers().FirstOrDefault();
      }
      else
      {
        user = MvcApplication2.Models.User.GetUserById(userId.Value);
      }
      return PartialView(user);
    }
  }
}

我們需要在Master頁里指定我們的PartialView對應的Action路徑,這樣實現:

在Head里加上如下代碼:

<script language="javascript" type="text/javascript">
    mySite = {
    actions : {
        userDetails: '<%=Url.Action("UserDetails","User")%>'
    }
};
</script>

我們對應的JS代碼:

$(document).ready(function () {
  $("#users").change(function () {
    dropDownChange();
  });
});
function dropDownChange() {
  var userId = $("#users").val();
  $.ajax({
    type: "POST",
    url: mySite.actions.userDetails,
    data: { userId: userId },
    success: function (data) {
      $("#userDetails").html(data);
    }
  });
}

這樣就實現了選擇相應的user,顯示對應的詳細信息了。

只是一個簡單的Demo,希望對需要此功能的人起到幫助作用。

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》

希望本文所述對大家jQuery程序設計有所幫助。



主站蜘蛛池模板: 50字精美优秀教师个人简介| 不要抛弃我| 潜龙轰天 电影| 工会基层组织选举工作条例| 色黄视频免费观看| 权志龙壁纸| 欧美一级毛片免费视频| 孙家栋的天路 电视剧| 寿康宝鉴戒期表| 冥界警局| 平型关大捷纪念馆| 吉泽明步 番号| 影视剧分娩片段合集| 视觉暂留现象原理| 寡妇4做爰电影| 栏目大全| 柿柿红红岁岁年电视剧演员表| 建设工程监理规范最新版50319-2019 | 薛昊婧演过的电视剧| ms培养基配方表| 孙启皓| 被侵犯| 动漫秀场| 电影《斯宾塞》| 今日航班一览表| 那个不为人知的故事电视剧| 肋骨骨折的护理ppt| 女生被艹在线观看| 国产精品欧美大片| 骑脖子负重锻炼的视频| 涂口红的正确方法视频| 久纱野水萌| 飞龙猛将演员表| 追龙演员表全部名单| 伊人1314| 哈尔的移动城堡日语版在线播放| 蜘蛛侠4英雄无归| 吴雪雯| 局内人电影完整版| 诺拉·阿娜泽德尔| 方言的战争在线观看高清免费完整版|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103