最近在測動態產生 Menu
MenuItem 全部手動加入 (Menu.Items.Add / Menu.Items[index].ChildItems.Add)
在 MenuItemClick event 要顯示所點選的 MenuItem.Text 時
卻發生永遠只會顯示第一個 ChildItem 的現象
最後才發現
Menu.SelectedItem 應該是透過 Menu.SelectedValue 去比對其下的 MenuItem.Value
來找出該 MenuItem
因為我將所有 MenuItem.Value 都設為相同值
所以 Menu.SelectedItem 抓出來的永遠都是第一個 ChildItem 了
2014年1月15日 星期三
2014年1月14日 星期二
jQuery.ajax 傳遞中文變亂碼
今天用 2 支 asp 測試 jQuery.ajax 傳遞中文
就出現亂碼問題
在這記錄一下
架構是 a.asp 透過 jQuery.ajax 呼叫 b.asp
a.asp
b.asp
在 tInput 中輸入 "某甲"
結果 span 中顯示 "?�甲 �z�n~" 的亂碼
查了一堆資料
才知道原來 jQuery.ajax 預設會將 data 以 utf-8 方式編碼後送出
(contentType 預設為 "application/x-www-form-urlencoded; charset=UTF-8"
詳見 : jQuery)
所以只要在 b.asp 加入一行 <%session.codepage=65001%>
即可解決亂碼問題
關於 session.codepage 的詳細說明請見 : 藍色小舖 (#3老頑童大大的說明)
就出現亂碼問題
在這記錄一下
架構是 a.asp 透過 jQuery.ajax 呼叫 b.asp
a.asp
<html>
<head>
<meta HTTP-EQUIV="Content Type" CONTENT="text/html; charset=big5">
<script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function(){
$("#btnSend").on("click",function(){
$.ajax({
async:false,
type:"POST",
data:{name : $("#tInput").val()},
dataType:"text",
url:"b.asp",
success:function(msg){$("#sMessage").text(msg);},
error:function(xhr,status,thrown){alert(thrown);}
});
});
});
</script>
</head>
<body>
<input type="text" id="tInput">
<input type="button" id="btnSend" value="Send"><br>
<span id="sMessage"></span>
</body>
</html>
<head>
<meta HTTP-EQUIV="Content Type" CONTENT="text/html; charset=big5">
<script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function(){
$("#btnSend").on("click",function(){
$.ajax({
async:false,
type:"POST",
data:{name : $("#tInput").val()},
dataType:"text",
url:"b.asp",
success:function(msg){$("#sMessage").text(msg);},
error:function(xhr,status,thrown){alert(thrown);}
});
});
});
</script>
</head>
<body>
<input type="text" id="tInput">
<input type="button" id="btnSend" value="Send"><br>
<span id="sMessage"></span>
</body>
</html>
b.asp
<%=request.form("name") & " 您好~" %>
在 tInput 中輸入 "某甲"
結果 span 中顯示 "?�甲 �z�n~" 的亂碼
查了一堆資料
才知道原來 jQuery.ajax 預設會將 data 以 utf-8 方式編碼後送出
(contentType 預設為 "application/x-www-form-urlencoded; charset=UTF-8"
詳見 : jQuery)
所以只要在 b.asp 加入一行 <%session.codepage=65001%>
即可解決亂碼問題
<%session.codepage=65001%>
<%=request.form("name") & " 您好~" %>
<%=request.form("name") & " 您好~" %>
關於 session.codepage 的詳細說明請見 : 藍色小舖 (#3老頑童大大的說明)
訂閱:
文章 (Atom)