日期:2014-05-16 浏览次数:20412 次
[我有废话要说]
???? 开始写ASP,其实不太喜欢.Net的东西。。。不过比较喜欢写JS,也想学下JQuery~就这样吧~
[正文——把JQuery的Autocomplete封了大家调]
? 需求:
????? 1提供公用的js文件,传入formId和字符数组,输入时,可以根据字符数组在form上autoComplete。
????? 2该字符数组从配置文件中读取
?
part1:读取xml配置文件,放在Hashtable中:
//公共方法,读取配置文件。
using System;
using System.Xml;
using System.Collections;
namespace com.Origin.Base.test
{
public static class ReadProperty
{
public static Hashtable ht = null;
private static String path = "D://property.xml";
public static string getText(string text)
{
if(ht==null){
init();
}
return (string)ht[text];
}
public static void init()
{
ht = new Hashtable();
string strXmlPath = path;
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@strXmlPath);
//node数量
int count = xDoc.DocumentElement.ChildNodes.Count;
//遍历所有的node
for (int k = 0; k < count; k++)
{
XmlElement pressEle = (XmlElement)xDoc.DocumentElement.ChildNodes[k];
XmlElement pressEleKey;
XmlElement pressEleValue;
pressEleKey = (XmlElement)pressEle.ChildNodes[0];
pressEleValue = (XmlElement)pressEle.ChildNodes[1];
string key = pressEleKey.FirstChild.Value;
string value = pressEleValue.FirstChild.Value;
ht.Add(key, value);
}
}
}
}
?
注释:加上@标示绝对路径。
@strXmlPath
?
xml文件格式:
<list>
<node>
<key>language</key>
<value>java,oralce,jajaja,javascript,vb</value>
</node>
</list>
?part2:我的asp的cs文件,调用上面的类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace com.Origin.Base.test
{
public partial class TestWeb : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public static string getText(string s)
{
string properties = ReadProperty.getText(s);
return properties;
}
}
}
?注释:提供getText方法,共界面asp调用。
asp调用该方法和我们的js公有库。
?
JS文件:
//test.js
function fun(formId, availableTags) {
alert('in fun');
$(formId).autocomplete({
source: availableTags
});
}
?最后是asp的界面文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="com.Origin.Base.test.TestWeb" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript" src="Scripts/jquery-1.6.4.js"></script>
<script type="text/javascript" src="Scripts/ui/jquery.ui.position.js"></script>
<script type="text/javascript" src="Scripts/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="Scripts/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="Scripts/ui/jquery.ui.autocomplete.js"></script>
<script type="text/javascript">
$(function () {
var v1 = '<%=getText("language")%>';
al