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[].Content,
content_source_url = "",
digest = frontViewData[].Digest,
show_cover_pic = frontViewData[].ShowCoverPic,
thumb_media_id = mediaId.media_id,
title = frontViewData[].Title,
};
//上传临时素材,测试账号用,永久素材上传一会后就会返回错误代码45009
//var result1 = MediaApi.UploadTemporaryNews(accessToken, 10000, news);
//上传永久素材
var result1 = MediaApi.UploadNews(accessToken, , 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 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. EntityFrameWork使用过程问题总结

    1.记录上次遇到个一个问题. (1).vs2013中的EntityFramework不能识别odp11,所以在用ef的时候 ,要换vs2012 (2).opd12不能识别Oracle  9i(所以这个 ...

  2. poj3693

    //Accepted 12004 KB 407 ms /* source:poj3693 time :20150819 by :songt */ /*题解: 搞了一天,总算弄完了 首先,我们来明确一个 ...

  3. position属性的四个value

    As we all know, position属性有四个值,分别为 relative,fixed,absolute, static. 1,relative相对定位 (不会脱离文档流) 在一个相对定位 ...

  4. JavaScript数组模拟栈和队列

    *栈和队列:js中没有真正的栈和队列的类型              一切都是用数组对象模拟的 栈:只能从一端进出的数组,另一端封闭       FILO   何时使用:今后只要仅希望数组只能从一端进 ...

  5. The first day to learn Englisht

    IF you want to go fast,to alone. IF you want to go far,go with others.

  6. 修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

    简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改And ...

  7. 实时控制软件设计 第一次作业 Draw

    #include <iostream> #include <cstring> #include <math.h> #include <Eigen/Dense& ...

  8. 【Learning Python】【第二章】Python基础类型和基础操作

    基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...

  9. Mac小知识(不定时更新)

    1.显示隐藏文件夹(在mac命令行中输入以下代码即可): 1)显示隐藏文件夹 defaults write com.apple.finder AppleShowAllFiles Yes &&a ...

  10. 在Web大作业——红十字会管理系统里出现的一个Error

    工程描述:根据用户在前端网页的操作对后台数据库进行查询或更新. 错误描述:当对网页进行多次操作后,网页会报错:“数据库超过最大连接数”. 错误分析:每次打开某一网页,都会运行一段JAVA代码连接数据库 ...