昨天经理叫我做银行的不刷新选择功能,我决定用RadioButtonList控件!这个倒是不难,但是我以前从没写过脚本
(这也是失败之处啊)!
经理说这简单的东西弄这么长时间,我能看出来他不太高兴,说:你放着吧,我来写!
他自己弄了一下午,硬是什么都没写出来,后来倒是和我要代码,笑笑说:得学习了!
这个暂且不论,人各有专长嘛!
只是经过这一次小困难,看透了很多事情,办公室是交不到朋友的!如果你真心,那么你傻!我以前是个很傻的
人,觉得谁都可以成为朋友,伤害受不少!
这次真的有些郁闷!问问题不会好好告诉你!折磨你!我忍!
但是偏偏在经理在的时候对我指手画脚,我也忍了!
但今天为止,我做.net一共12天,说我的代码垃圾,框架思想一点没有!社会不看你学多长时间,你能干,好样
的,不能干,垃圾都鄙视你!
我完成的功能大小一共12个!
那小子两个都没写地道!我也忍!
说了这么多废话!
正题开始!
客户端脚本:RadioButtonList,label
<script type="text/javascript">
function GetBankInfoClient()
{
var opts = document.all("rbtn");
var strBankInfo;
strBankInfo=document.all.HidInfo.value;
//alert(strBankInfo);
strBankInfo = strBankInfo.split(",");
if (opts)
{
for (var i = 0; i < opts.length; i++ )
{
if (opts[i].checked)
{
//alert(i);
document.all.lblbillname.innerText=strBankInfo[(i-1)*3+1];
document.all.lblbankname.innerText=strBankInfo[(i-1)*3+1+1];
document.all.lblkaihunumber.innerText=strBankInfo[(i-1)*3+1+2];
document.all.imgbank.src=i+".JPG";
break;
}
}
}
}
</script>
cs:
/// <summary>
///
/// </summary>
private void GetBankInfo()
{
this.imgbank.ImageUrl = "1.JPG";
SqlCommand cmd = null;
SqlDataReader dr = null;
string strBankInfo = "";
string strinfo="";
string strSqlBank = "select c_name,c_py,c_bz1 from t_dic where c_lb='13'";
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ToString());
try
{
conn.Open();
cmd = new SqlCommand(strSqlBank, conn);
dr = cmd.ExecuteReader();
while (dr.Read())
{
//循环取得所有银行银行
this.rbtn.Items.Add(dr.GetString(0));
strinfo=dr["c_py"].ToString() + "," +dr["c_name"].ToString()+","+dr["c_bz1"].ToString();
strBankInfo = strBankInfo + "," + strinfo;
this.HidInfo.Value = strBankInfo.ToString();
}
}
catch
{
}
finally
{
dr.Close();
//dr1.Close();
conn.Close();
}
这个方法很笨,split拆分字符串,但是实现了,留下来备用!
以下是兄弟们帮忙写的:
sniper81(菜鸟也是人) ( ) 信誉:98 Blog 加为好友
你可以先写一个WebService,在WebService中写一个根据银行ID获取银行信息的Web方法,简单起见,最好返回一个字符串。你建的WebService假设叫GetInfo.asmx,里面加一个方法比如:
[WebMethod]
public string GetBankInfo(string bankID)
{
....
return "帐户,银行,帐号,电话";
}
在客户端你写一个函数,类似下面的内容:
function GetBankInfoClient()
{
var bankInfos
var bankID
// ... 获取银行帐号
var soap
var strUrl = "../WebServices/GetInfo.asmx/GetBankInfo" //注意,假设我的Web服务文件在当前目录的上级目录的WebServices子目录中。传递的方法是Web服务文件名,斜线,Web方法名
var http = null;
http=new ActiveXObject("Microsoft.XMLHTTP");
http.open("post",strURL,false)
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=GB2312")
soap=URLEncoding("bankID=" + bankID); //参数的写法和从URL上传递参数一样,多个参数用"&"隔开,URLEncoding方法是防止中文乱码,如果传递的参数中没有中文,可以不用URLEncoding方法
http.send(soap)
bankInfos = http.responseText
// 或者 bankInfos = http.responseXML.childNodes[1].text
bankInfos = bankInfos.split(",")
// 帐户 = bankInfos[0]
// 电话 = bankInfos[3]
// ...
http=null
}
上面的代码应该没什么错误,楼主自己试试吧
忘了发URLEncoding的代码,这是VBScript代码,可以和javascript代码互相调用:
<script language=vbscript>
Function URLEncoding(vstrIn)
strReturn = ""
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr)) < &HFF Then
strReturn = strReturn & ThisChr
Else
innerCode = Asc(ThisChr)
If innerCode < 0 Then
innerCode = innerCode + &H10000
End If
Hight8 = (innerCode And &HFF00)/ &HFF
Low8 = innerCode And &HFF
strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
End If
Next
URLEncoding = strReturn
End Function
</script>
hanguoji84(北飘) ( ) 信誉:98 Blog 加为好友
Ajax技术,就是JS脚本调用cs类中的函数,给你个小例子。
JS脚本如下:ChatRoom为类名。注意:ChatRoom.Logout(); Logout();为函数名
function UserLogout(){
ChatRoom.Logout();
WindowClose();
}
function WindowClose(){
window.opener = null;
window.close();
}
//函数体,注意要引用Ajax.dll,并且在webconfig中加入一个元素:
//<httpHandlers>
// <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
// </httpHandlers>
[Ajax.AjaxMethod()]
public void Logout()
{
访问数据库做操作。 }
感谢以上两位,小弟不会忘记!