• 微信上传文章素材—ASP.NET MVC从View层传数据到Controller层


    View层:

    $('#btnNews').click(function() {
            if (!confirm('确定要提交吗?')) {
                return;
            }
            var frontViewData = [];
            var title = $("*[name='title']").val();
            var digest = $("*[name='digest']").val();
            var showCoverPic = $("*[name='show_cover_pic']").val();
            var content = CKEDITOR.instances.content.getData();
            frontViewData.push({ Title: title,Digest: digest, ShowCoverPic: showCoverPic, Content: content });
            $.ajax({
                type:'POST',
                url: '/Media/AddArticle',
                data: JSON.stringify(frontViewData),
                contentType: 'application/json;charset=utf-8',
                success: function(json) {
                        alert(json.Message);
                }
            });
        });

    Controller层:

    public ActionResult AddArticle(List<ArticleViewModel> frontViewData)
            {
                var file = TempData["savePath"].ToString();
                var accessToken = AccessTokenContainer.GetAccessToken(AppId);
                try
                {
                    //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
                    //var mediaId = MediaApi.UploadTemporaryMedia(accessToken,UploadMediaFileType.thumb, file).thumb_media_id;
                    //上传永久素材
                    var mediaId = MediaApi.UploadForeverMedia(accessToken, file);
                    var news = new NewsModel()
                    {
                        author = "呵呵哒",
                        content = frontViewData[0].Content,
                        content_source_url = "",
                        digest = frontViewData[0].Digest,
                        show_cover_pic = frontViewData[0].ShowCoverPic,
                        thumb_media_id = mediaId.media_id,
                        title = frontViewData[0].Title,
                    };
                    //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
                    //var result1 = MediaApi.UploadTemporaryNews(accessToken, 10000, news);
                    //上传永久素材
                    var result1 = MediaApi.UploadNews(accessToken, 10000, news);
                    var json = new
                    {
                        Success = result1.errmsg == "ok",
                        Message = "新增成功"
                    };
                    return Json(json);
                }
                catch(Exception ex)
                {
                    var json = new
                    {
                        Message = ex.Message
                    };
                    return Json(json);
                }
            }

    ViewModel层:

        public class ArticleViewModel
        {
            public string Title { get; set; }
            public string ThumbUrl { get; set; }
            public string Digest { get; set; }
            public string ShowCoverPic { get; set; }
            public string Content { get; set; }
        }

    还可以利用Request.Form[""]进行传值不过必须是inout中的name属性

  • 相关阅读:
    ASP.NET 2.0 X64的奇怪问题
    【分享】从网上爬的WPF学习资料
    大家一起学习less 5:字符串插值
    大家一起学习less 3:命名空间
    我的模块加载系统 v18
    大家一起学习less 2:自带函数
    “计算机之子”的MVVM框架源码学习笔记
    我的MVVM框架 v0.1发布
    大家一起学习less 6:一些有用的混合函数
    less源码学习
  • 原文地址:https://www.cnblogs.com/xiaomen/p/6089354.html
Copyright © 2020-2023  润新知