• AJAX,JSON与MVC


    有几个特殊之处

    1. MVC框架中包含了一个特殊的JSONActionResult,可以直接返回JSON对象,注意它的格式与之前的asmx和页面静态方法都不一样,它直接就是一个JSON对象

    image

    2. 服务端和客户端编程都相对简单了。服务器端无须明确序列化,而客户端也无须解析JSON字符串了,因为返回的结果本来就是一个JSON对象

    第一部分:Controller中的设计

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MvcApplication1.Controllers
    {
    
        public class Employee
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    
        [HandleError]
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                ViewData["Message"] = "Welcome to ASP.NET MVC!";
    
                return View();
            }
    
            public ActionResult About()
            {
                return View();
            }
    
            public ActionResult Employee() {
                return View();
            }
    
    
            [HttpPost]
            public ActionResult GetEmployee() {
                return Json(new Employee()
                {
                    Id = 1,
                    Name = "chenxizhang"
                });
            }
    
    
            
            
        }
    }
    

    第二部分:View中的设计

    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
        GetEmployee
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    
        <script src="../../Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript"></script>
    
        <script type="text/javascript" language="javascript">
            $(function() {
                $("#bt").click(function() {
                    $.ajax({
                        type: "POST",
                        contentType: "application/json",
                        url: "http://localhost:44203/Home/GetEmployee",
                        data: "{}",
                        dataType: 'json',
                        success: function(result) {
                            alert(result.Id);
                        }
    
                    });
                });
            });
        
        </script>
    
        <h2>
            GetEmployee</h2>
        <input type="button" value="Invoke" id="bt" />
        <div id="info">
        </div>
    </asp:Content>
    
  • 相关阅读:
    使用CTE分页 在MSSQL2005上可以使用
    uc_client目录
    用SQL语句添加删除修改字段
    for all your mad scientific needs think geek
    C++:Prototype模式去掉Clone方法
    linux命令:top
    linux命令:time
    C++:运行期断言和编译期断言
    内核分析:EXPORT_SYMBOL解析
    Linux工具:使用SED编辑器
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1660601.html
Copyright © 2020-2023  润新知