2011年2月6日 星期日

正確已用外部的js檔案

下面這個無法正常使用
//<script type="javascript" src="Scripts\datetimepicker.js"> 

下面這個可以正常使用,差別在於 text/javascript
//<script type="text/javascript" src="Scripts\datetimepicker.js">


ps:但有時候會有些例外情形。

VS2010 選擇以特定的瀏覽器偵錯顯示

1.在右側方案總管視窗中,任選一個頁面,按下右鍵
2.選擇[瀏覽方式(H)]
3.將慣用的瀏覽器設定成[預設]即可

2010年12月29日 星期三

租用的ASP網站 亂碼問題

以VWD2008 建立一個3.5的網站
web.confign


<system.web>
<globalization fileEncoding="big5" />
</system.web>

2010年11月23日 星期二

VB.net itext.net vbcode範例

除了VB也有C#

不過itext.net 好像和 itextsharp 不一定完全相同

http://www.ujihara.jp/iTextdotNET/en/examplesvb.html

2010年11月8日 星期一

ASP.NET 線上產生XML不存在Server上

'*************************************************************
' 前端
'*************************************************************
需有以下的設定,此標籤必須原來就存在,無法動態產生此標籤再來下載。
解法:先有此標籤,href屬性動態指定即可。
$('#outputxml').attr("href",'OutputUD.ashx?selsi=' + si + '&selsn=' + SelSub);


'*************************************************************
' 後端
'*************************************************************
OutputUD.ashx

990125 防止其它網域的使用者呼叫!
If context.Request.UrlReferrer.Host <> context.Request.ServerVariables("SERVER_NAME") Then
FormsAuthentication.SignOut() '981208
context.Response.Redirect("ShowUserRdr.aspx")
End If

context.Response.ClearHeaders()
context.Response.Clear()
context.Response.Expires = 0
context.Response.Buffer = True
context.Response.AddHeader("Accept-Language", "zh-tw")

'檔案名稱
Dim strContentDisposition As String = "attachment; filename=UserRecord.xml"
context.Response.AddHeader("Content-Disposition", strContentDisposition)
context.Response.ContentType = "Application/octet-stream"

'檔案內容
Dim settings As New XmlWriterSettings
settings.Indent = True
settings.OmitXmlDeclaration = False
settings.NewLineOnAttributes = True
settings.Encoding = Encoding.UTF8

'將XML寫入的結果放在 context.Response.OutputStream內
Dim MyWriter As XmlWriter = XmlWriter.Create(context.Response.OutputStream, settings)

Dim sb As New StringBuilder
Dim i As Integer
'*********************************************************************************************** ' 990115 XML資料架構
' 1. UserRdr (root)
' |
' ----- SelectQ
' :
' ---------1. QASubject (選擇題目) 其下標籤
' :
' --------2. QAChinese (申論題目) 其下標籤
' :
' --------3. Customize (自訂或重點資料列表) 其下標籤
' :
' --------4. LawInfo (法規命令) 其下標籤
' :
' --------5. PointRecover (選擇題複習重點) 其下標籤
' :
' :------- 0. Finfo 關於檔案之資訊
'*********************************************************************************************** MyWriter.WriteStartElement("UserRdr")
MyWriter.WriteStartElement("SelectQ")

....................
'990104 考題出處
'MyWriter.WriteElementString("QFrom", "")
MyWriter.WriteStartElement("QFrom")
MyWriter.WriteCData(dr("QSource"))
MyWriter.WriteEndElement()


'990104 科目(僅抓取第一個編號 避免 x6x33x 這種多編碼形式!)
'MyWriter.WriteElementString("Qsub", "")
MyWriter.WriteStartElement("Qsub")
MyWriter.WriteCData(OutSubName)
MyWriter.WriteEndElement()
End While
MyWriter.WriteEndElement()

'990120 最後輸出 檔案的相關資訊!
MyWriter.WriteStartElement("Finfo") '< S >
MyWriter.WriteElementString("WDate", Now)
MyWriter.WriteElementString("S1", "")
MyWriter.WriteElementString("S2", "")
MyWriter.WriteElementString("S3", "")
MyWriter.WriteElementString("S4", "")
MyWriter.WriteEndElement()



'輸出結束標記!
MyWriter.WriteEndElement()
MyWriter.WriteEndElement()
'將XML輸出
MyWriter.Flush()

'將 context.Response.OutputStream 內容輸出
context.Response.OutputStream.ToString()

context.Response.End()


'判斷是否空字串 DBNull 或 特殊字元 ^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000-x10FFFF
Function ReplaceSpChr(ByVal k As String) As String
'Return Regex.Replace(k, "[^\x09\x0A\x0D\x20-\xD7FF\xE000-\xFFFD\x10000-x10FFFF]", "", RegexOptions.IgnoreCase)
Return Regex.Replace(k, "[\f]", "", RegexOptions.IgnoreCase)
End Function

ASP.NET JQuery 從後端載入XML資料,然後將XML的tag放到相對應的HTML欄位

從後端載入XML資料,然後將XML的tag放到相對應的HTML欄位內。

'*************************************************************
' 前端
'*************************************************************
/* 選取不同的 科目類別 ----------------------------------------------------- */
$('#LoginView1_ddlSubject').change(function() {
var si = $('#LoginView1_ddlSubject option:selected').val();
var SelSub=$('#LoginView1_ddlSubject option:selected').text() ;
if ( si !=0 ) {
$.blockUI({message: '


使用者紀錄載入中,請耐心稍後喔…



'});
//針對不同的科目id顯示對應的 [匯出記錄]超連結
$('#outputxml').attr("href",'OutputUD.ashx?selsi=' + si + '&selsn=' + SelSub);
//執行ajax功能
$.ajax({
url: "FetchRdr.ashx",
type: "POST", /* 傳輸量若太多要改用POST */
data: "V=" + si ,
cache: false,
/*dataType: "xml", 回傳格式 xml */
success: function(response) {
// ................")
//var x = $("" + response + "");
var x = $(response );
//alert (x.find("SecionA").text());
$("#RdrS1").html(x.find("SecionA").text());
$("#RdrS2").html(x.find("SecionB").text());
$("#RdrS3").html(x.find("SecionC").text());
$("#RdrS4").html(x.find("SecionD").text() + x.find("SecionE").text()); //此區塊一併寫入 重點參數!
//$("#RdrS1").html(response);
$.unblockUI(); //取消動畫!
}, /* 若不成功,大部分是伺服端APSX的問題 且客戶端送出的字串前後結尾不可以有雙引號等特殊字元 */
error: function(xhr, textStatus, thrownError) { alert("錯誤:" + xhr.responseText); }
}) /* data: "acc='abc'",*/
}
else { // 沒有選擇科目時
//alert('請先選擇要複習的科目喔~ \n\n 提醒: 匯出使用者記錄,只允許每次匯出一個科目....') ;
$('.OutputUserData').attr("href",'#');
}
});


'*************************************************************
' 後端
'*************************************************************




'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
' 配合 XML 設定 (只是仿製為XML的用法,<![CDATA[xxx]]> 可避開標籤的問題!) JQuery 將 字串 前後包住 即可使用XML工具FIND的函數!
'
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sb.Append("<xml><udr><seciona><![CDATA[xxxxxxxx]]></SecionA>")
sb.Append("<secionb><![CDATA[xxxxxxxxxxxxx]]></SecionE></Udr></xml>")
context.Response.Write(sb.ToString)
'最後輸出
context.Response.End()

追蹤者