View层:

  1. $('#btnNews').click(function() {
  2. if (!confirm('确定要提交吗?')) {
  3. return;
  4. }
  5. var frontViewData = [];
  6. var title = $("*[name='title']").val();
  7. var digest = $("*[name='digest']").val();
  8. var showCoverPic = $("*[name='show_cover_pic']").val();
  9. var content = CKEDITOR.instances.content.getData();
  10. frontViewData.push({ Title: title,Digest: digest, ShowCoverPic: showCoverPic, Content: content });
  11. $.ajax({
  12. type:'POST',
  13. url: '/Media/AddArticle',
  14. data: JSON.stringify(frontViewData),
  15. contentType: 'application/json;charset=utf-8',
  16. success: function(json) {
  17. alert(json.Message);
  18. }
  19. });
  20. });

Controller层:

  1. public ActionResult AddArticle(List<ArticleViewModel> frontViewData)
  2. {
  3. var file = TempData["savePath"].ToString();
  4. var accessToken = AccessTokenContainer.GetAccessToken(AppId);
  5. try
  6. {
  7. //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
  8. //var mediaId = MediaApi.UploadTemporaryMedia(accessToken,UploadMediaFileType.thumb, file).thumb_media_id;
  9. //上传永久素材
  10. var mediaId = MediaApi.UploadForeverMedia(accessToken, file);
  11. var news = new NewsModel()
  12. {
  13. author = "呵呵哒",
  14. content = frontViewData[].Content,
  15. content_source_url = "",
  16. digest = frontViewData[].Digest,
  17. show_cover_pic = frontViewData[].ShowCoverPic,
  18. thumb_media_id = mediaId.media_id,
  19. title = frontViewData[].Title,
  20. };
  21. //上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
  22. //var result1 = MediaApi.UploadTemporaryNews(accessToken, 10000, news);
  23. //上传永久素材
  24. var result1 = MediaApi.UploadNews(accessToken, , news);
  25. var json = new
  26. {
  27. Success = result1.errmsg == "ok",
  28. Message = "新增成功"
  29. };
  30. return Json(json);
  31. }
  32. catch(Exception ex)
  33. {
  34. var json = new
  35. {
  36. Message = ex.Message
  37. };
  38. return Json(json);
  39. }
  40. }

ViewModel层:

  1. public class ArticleViewModel
  2. {
  3. public string Title { get; set; }
  4. public string ThumbUrl { get; set; }
  5. public string Digest { get; set; }
  6. public string ShowCoverPic { get; set; }
  7. public string Content { get; set; }
  8. }

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

微信上传文章素材—ASP.NET MVC从View层传数据到Controller层的更多相关文章

  1. ASP.NET MVC 之View

    仅此一文让你明白ASP.NET MVC 之View的显示(仅此一文系列二)   题外话 一周之前写的<仅此一文让你明白ASP.NET MVC原理>受到了广大学习ASP.NET MVC同学的 ...

  2. 解析ASP.NET Mvc开发之删除修改数据

    目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 4)解析ASP.NET Mvc开发之EF延迟加载 ...

  3. ASP.NET MVC 5 学习教程:数据迁移之添加字段

    原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...

  4. 【ASP.NET MVC】View与Controller之间传递数据

    1   概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Co ...

  5. ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

    本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深 ...

  6. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. 解析ASP.NET Mvc开发之删除修改数据 分类: ASP.NET 2014-01-04 23:41 3203人阅读 评论(2) 收藏

    目录: 从明源动力到创新工场这一路走来 解析ASP.NET WebForm和Mvc开发的区别 解析ASP.NET 和Mvc开发之查询数据实例 解析ASP.NET Mvc开发之EF延迟加载 ------ ...

  8. 【ASP.NET MVC系列】浅谈数据注解和验证

    [ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...

  9. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序读取相关数据

    这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第七篇:为ASP.NET MVC应用程序 ...

随机推荐

  1. MFC之TreeCtrl控件使用经验总结

    树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点.MFC中使用CTreeCtrl类来封装树形控件的各种操作.通过调用BOOL ...

  2. C++Promise函数

    Promise内部会建立一个shared state是用来放一个相应的类型的值或是一个异常,并可被future object 取其数据当线程结果 promise是在形成成果后才将结果放进shared ...

  3. cocos2dx-3.9 集成admob

    Part 1: 安装GoogleMobileAds framework (即admob) 1. 安装Cocoapods,否则解决依赖关系和配置真的会把人不累死也得烦死 sudo gem install ...

  4. 本地mysql数据库root密码丢失修改方法

      1,停止数据库 2,cd /etc/mysql 3,利用vim命令打开mysql配置文件my.cnf,在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存. ...

  5. OpenSuse Caffe CNN库 配置

    参考官方文档:http://caffe.berkeleyvision.org/installation.html 1. 安装CUDA 参考 http://www.cnblogs.com/sunshy/ ...

  6. EntityFrameworkCore 试用

    引用 EF Core Sqlite Install-Package Microsoft.EntityFrameworkCore.SqlServer 引用 EF Core Tool Install-Pa ...

  7. BZOJ 2743 树状数组

    不能用分块. #include <bits/stdc++.h> using namespace std; ; struct Info{int l,r,Id;}Q[Maxn]; int a[ ...

  8. grep 命令操作

    linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...

  9. 关于easyui遇到的问题

    easyui中的datagrid分页中有时候会碰到context.Request["rows"]的值等于nAn的问题:这是一般都是设置的pageSize的值不在pageList里引 ...

  10. Thinkphp_基础(2)URL模式

    URL请求 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: http://se ...