您的位置:首页 > 编程语言 > ASP

ASP.NET微信公众号添加菜单

2016-11-19 00:00 926 查看
本文实例为大家分享了微信公众号添加菜单的具体代码,供大家参考,具体内容如下

testjs.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testjs.aspx.cs" Inherits="MyTest.WebUI.Manager.Main.testjs" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<title></title>
<script type="text/javascript" src="../../js/jweixin-1.0.0.js"></script>
<script type="text/javascript" src="../../js/jquery-1.12.2.min.js"></script>
<style>
.btn {
width: 100%;
}
</style>
</head>

<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>

<asp:Button CssClass="btn" ID="Button1" runat="server" Text="添加菜单" OnClick="Button1_Click" /><br />
<asp:Button CssClass="btn" ID="Button2" runat="server" Text="删除菜单" OnClick="Button2_Click" /><br />
</div>
</form>
</body>
</html>


public partial class testjs : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}

protected void Button1_Click(object sender, EventArgs e)
{
MenuOperator mm = new MenuOperator();

lblMsg.Text=mm.menu_add();
}

protected void Button2_Click(object sender, EventArgs e)
{
MenuOperator mm = new MenuOperator();

lblMsg.Text = mm.menu_del();
}
}


MenuOperator.cs菜单操作助手类

public class MenuOperator
{

public string menu_add() {
string url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=";
string token = mainArg.get_Token();
url += token;
HttpWebRequest req =(HttpWebRequest) HttpWebRequest.Create(url);
req.Method = "POST";//大小写不限
string menuPath = HttpContext.Current.Server.MapPath(@"~/TemplePath/menu.txt");
Stream ms =File.Open(menuPath, FileMode.OpenOrCreate);
byte[] paramb = new byte[ms.Length];
ms.Read(paramb, 0, (Int32)ms.Length);
string param = Encoding.Default.GetString(paramb);
ms.Close();
using (StreamWriter stream=new StreamWriter(req.GetRequestStream()))
{
stream.Write(param);
}
using (HttpWebResponse response=(HttpWebResponse)req.GetResponse())
{
Stream s = response.GetResponseStream();
StreamReader sr = new StreamReader(s);
string result = sr.ReadToEnd();
sr.Close();

return result;
}

}

public string menu_del() {
string token = mainArg.get_Token();
string url = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" + token; ;
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
using (HttpWebResponse response =(HttpWebResponse) req.GetResponse()) {
StreamReader sr = new StreamReader(response.GetResponseStream());
string result = sr.ReadToEnd();
sr.Close();
return result;
}

}
}


menu.txt内容:

{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"菜单",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}


运行结果如图:





本文已被整理到了《ASP.NET微信开发教程汇总》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

java微信公众号开发案例
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
.NET微信公众号获取OpenID和用户信息
ASP.NET微信公众号之用户分组管理web页面
最详细的ASP.NET微信JS-SDK支付代码
ASP.NET微信公众号客服接口
微信公众平台实现获取用户OpenID的方法
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
微信JS接口汇总及使用详解
微信公众平台开发入门教程(SAE方倍工作室)
微信 getAccessToken方法详解及实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASP.NET 微信 菜单