20071219 asp.net js info
http://www.yippeesoft.com
在CS后台,只能拿到服务器控件的值(如果你用FindControls)
只能用Post,从Request中获取
Request["控件"].ToString();
js函数绑定到asp.net的控件上:
用 控件.Attributes.Add(事件,函数) 就可以了,可我在往 CheckBox上加 OnCheckedChanged 事件的时候总是报错。
在 asp.net 中访问 html 控件:
一气之下,把所有控件都换成了 html 的,然后在控件上加上 runat=server 这样在 asp.net 中就可以引用了。用 (FindControl(控件id) as html控件类型).属性,如 (this.FindControl("ddlMonth") as HtmlSelect).SelectedIndex ……
在html网页中读取asp.net的变量
为了能够在js中读取asp.net中的数据,要保证asp.net中变量的类型js能够分辨,其实想办法变成string的就得了呗!
其次,要把变量声明为 Public 的。
在js中使用 变量="<%#asp.net变量名%>"; 的形式即可得到变量的值,如 var id = "<%#userid%>"; (asp.net中Public string userid = "zhangsan";
System.Collections.Specialized.NameValueCollection nvs=Request.Form;
for (int i = 0; i < nvs.Count; i++)
&leftsign;
nvs.AllKeys[i];//这里是Text
nvs[i];//这里是值
&rightsign;
Select 控件的值只有选择后 , 服务器端通过 Request["select name"],才能取道选择的值
因为asp.net是通过客户端 post 回来的数据来获得客户端的值
类似
Post textbox1="yourinput"&Select1="yourslect";
在web页面用javascript取值
添加一个控件 <asp:textbox id="txt_slcted" Width="75px" runat="server" style="DISPLAY:none"></asp:textbox>
绑定js的时候多加一个getvalue
function getvalue()
&leftsign;
document.all.txt_slcted.value="";
var nsvlen=document.all.right_category_id.options.length;
for(i=0;i<nsvlen;i++)
&leftsign;
document.all.txt_slcted.value+=document.all.right_category_id.options[i].value+";";
&rightsign;
if(document.all.txt_slcted.value.length>0)
&leftsign; document.all.txt_slcted.value=document.all.txt_slcted.value.substr(0,len-1);//去掉最后的;
&rightsign;
&rightsign;
asp.net与javacript之间的通讯
//因为RegisterStartupScript是在
//Page 对象的 <form runat= server> 元素
//的结束标记之前发出该脚本;
//而RegisterClientScriptBlock则是在
//Page 对象的 <form runat= server> 元素
//的开始标记后发出。
用ASP.NET向javascript传递变量
方法1:
用一个隐藏控件,把变量的值给隐藏控件,再用javascript去找隐藏控件的值
window.document.getElementById("隐藏控件的ID").value //这个就可以得到隐藏控件的值
方法2:
javascript 中:
var value=<%=Num%>
Num要是一个属性
如:
Public String Num
&leftsign;
set&leftsign;…&rightsign;
get&leftsign;…&rightsign;
&rightsign;
如果字符变量是字符型像alert()等要这样用alert("<%=Num%>");
还有Num一定要是public申明
1、js脚本如何访问服务器控件的值
界面上有一个TextBox控件,ID为Name,js里可以采用如下脚本取Name的值
var myvalue=document.all(\’Name\’).value;
2、服务器控件如何取js中变量的值
目前未发现比较好的办法,我通常采用的方法是在界面上放一个隐藏的控件HtmlInputHidden,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件的值
js中给服务器控件赋值:
var bt=document.all(\’Name\’).value;
bt.value=\’名称\’;
ASP.NET中使用Name.Value来访问。
3、如何遍历界面上所有TextBox元素
var inputList = document.body.getElementsByTagName("INPUT");
for(var i=0;i<inputList.length;i++)
&leftsign;
if(inputList[i].disabled==false && (inputList[i].type==\’text\’ &line;&line; inputList[i].type==\’password\’))
&leftsign;
inputList[i].value="";
&rightsign;
&rightsign;
4、让dropdownlist选择到指定项
选择dropdownlist中值为“我得选择”得项
var handl=document.all(\’List1\’);
var my_value=\’我得选择\’;
for(var index=0;index<handle.options.length;index++)
&leftsign;
if(handle.options[index].text==my_value)
&leftsign;
handle.selectedIndex=index;
&rightsign;
&rightsign;
1、在aspx文件中找到Form1标签,在其后增加如下js脚本:
<input type="hidden" name="__EVENTTARGET"> <input type="hidden" name="__EVENTARGUMENT">
<script language="javascript" type="text/javascript">
<!–
function __doPostBack(eventTarget, eventArgument) &leftsign;
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) &leftsign;
theform = document.Form1;
&rightsign;
else &leftsign;
theform = document.forms["Form1"];
&rightsign;
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
&rightsign;
// –>
</script>
2、然后javascript的函数中使用__doPostBack(\’Button1\’,\’\')就可以调用指定服务器按钮的事件了,目前测试了调用 Button的Click事件没有任何问题,不过即使Button的Visible="False"是,事件也是可以被触发的,所以如果需要调用别的服务器函数或者事件,可以在界面上放一个隐藏的Button控件,然后在它的Click事件中调用别的函数即可。
历史博文
- 20070505 mysql vc 资料 - 2007
- 0425 TortoiseSVN VC6 C1083 - 2006
- SUN GOOGLE 微软 热门 下载 千年虫 - 2005
- mcafee Kaspersky F-Secure? Netsky - 2005