ASP.NET微信公眾號(hào)添加菜單
本文實(shí)例為大家分享了微信公眾號(hào)添加菜單的具體代碼,供大家參考,具體內(nèi)容如下
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菜單操作助手類(lèi)
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";//大小寫(xiě)不限
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內(nèi)容:
{
"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"
}]
}]
}
運(yùn)行結(jié)果如圖:


本文已被整理到了《ASP.NET微信開(kāi)發(fā)教程匯總》,歡迎大家學(xué)習(xí)閱讀。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java微信公眾號(hào)開(kāi)發(fā)案例
- 微信小程序-圖片、錄音、音頻播放、音樂(lè)播放、視頻、文件代碼實(shí)例
- .NET微信公眾號(hào)獲取OpenID和用戶(hù)信息
- ASP.NET微信公眾號(hào)之用戶(hù)分組管理web頁(yè)面
- 最詳細(xì)的ASP.NET微信JS-SDK支付代碼
- ASP.NET微信公眾號(hào)客服接口
- 微信公眾平臺(tái)實(shí)現(xiàn)獲取用戶(hù)OpenID的方法
- 微信公眾平臺(tái)網(wǎng)頁(yè)授權(quán)獲取用戶(hù)基本信息中授權(quán)回調(diào)域名設(shè)置的變動(dòng)
- 微信JS接口匯總及使用詳解
- 微信公眾平臺(tái)開(kāi)發(fā)入門(mén)教程(SAE方倍工作室)
- 微信 getAccessToken方法詳解及實(shí)例
相關(guān)文章
Visual Studio 2017下ASP.NET CORE的TagHelper智能提示解決辦法
這篇文章主要為大家詳細(xì)介紹了Visual Studio 2017下ASP.NET CORE TagHelper智能提示的解決辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
驗(yàn)證一個(gè)ASP.NET應(yīng)用程序和頁(yè)面的生命周期的實(shí)現(xiàn)代碼
我們知道ASP.NET Page的生命周期實(shí)際上是ASP.NET Application的生命周期的一部分。這個(gè)周期經(jīng)歷了HTTP Module => HTTP Handler => ASP.NET Page => Http Module這樣一個(gè)過(guò)程2012-04-04
asp.net防止刷新時(shí)重復(fù)提交(可禁用工具條刷新按鈕)
前段時(shí)間遇到了需要禁用刷新的需求,f5按鈕就不說(shuō)了,簡(jiǎn)單的js就能把它禁用,但是工具條上的刷新按鈕卻防止不了啊,不過(guò)本文介紹的一種方法卻可以解決此問(wèn)題,感興趣的朋友可以了解下啊,希望本文對(duì)你有所幫助2013-01-01
基于.Net?Core認(rèn)證授權(quán)方案之JwtBearer認(rèn)證
這篇文章介紹了基于.Net?Core認(rèn)證授權(quán)方案之JwtBearer認(rèn)證,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
詳細(xì)介紹.NET中的動(dòng)態(tài)編譯技術(shù)
這篇文章詳細(xì)介紹了.NET中的動(dòng)態(tài)編譯技術(shù),有需要的朋友可以參考一下2013-11-11
ynamic LINQ創(chuàng)建高級(jí)查詢(xún)服務(wù)
這篇文章主要介紹了ynamic LINQ創(chuàng)建高級(jí)查詢(xún)服務(wù),如何使用Dynamic LINQ輕松實(shí)現(xiàn)更強(qiáng)大的高級(jí)查詢(xún)服務(wù),下面文章內(nèi)容具有一的的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03
ASP.NET技巧:教你制做Web實(shí)時(shí)進(jìn)度條
ASP.NET技巧:教你制做Web實(shí)時(shí)進(jìn)度條...2006-09-09
asp.net 生成靜態(tài)頁(yè)時(shí)的進(jìn)度條顯示
本文側(cè)重點(diǎn)在講解生成靜態(tài)頁(yè)的“進(jìn)度條”,所以將采用模擬的方法。生成靜態(tài)時(shí)需要生成的文章必須非常多,否則進(jìn)度條可能一閃而過(guò),看不到效果。2009-05-05
ASP.NET MVC5驗(yàn)證系列之Remote Validation
這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC5驗(yàn)證系列之Remote Validation,感興趣的小伙伴們可以參考一下2016-07-07

