C#调用javascript的函数 是这样,我在按键里进行数据库操作,需要从页面取得一个值,这个值由javascript的一个函数实现,从C#里怎样从按键中调用这个函数并取得这个函数的返回值赋值给一个变量,来完成数据库操作呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <input type="hidden" id="txtTestValue" runat="server" /><asp:Button ID="Button1" ....</html><script>function test(){return 'aaa';}function setvalue(){document.getElementById('txtTestValue').value=test();}document.getElementById('Button1').onclick=setvalue; 按钮事件取this.txtTestValue.Value 我的按键在C#里还要进行其他操作,只是想通过javascript的函数得到一个值,也就是说在按键里调用一下这个函数。。 按键ID.Attributes.Add("onclick","javascript:JavaScript函数名()");不知道是否符合你问的问题! 我好多控件都是这么添加的,但是这个需求要多一点,因为onclick还要进行C#操作 楼上的sprc_lcl说的不错,但是lz的思想有问题。C#代码是运行在iis服务器端的,而javascript是运行在用户浏览器端的,所以C#肯定是不能执行调用javascript的函数。所以你的问题的思路应该为,再点击页面上的一个button时,先执行Client端的javascript,把计算出来的值,赋给一个TextBox;再Post页面到服务器端,服务器端再取出这个TextBox的值。 用ClientScript.GetCallbackEventReference具体方法网上搜一下很多的 function getValue(){ var str = ""; var o = document.getElementById("Layer1"); var eles = o.childNodes; for(var i=0;i<eles.length;i++){ if(o.childNodes[i].type == "button"){ if(o.childNodes[i].style.background =="#a9a9a9") str += '0 '; else str += '1 '; } } alert(str); var hid = document.getElementById("Hidden1"); hid.value = str; //return str; } protected void Btn1_Click1(object sender, EventArgs e) { string str = ""; str+="<script language='javascript'>"; str+="getValue();"; str+="</script>"; txt1.Text = this.Hidden1.Value; }我是这么写的。。 不能...function getValue(){ var str = ""; var o = document.getElementById("Layer1"); var eles = o.childNodes; for(var i=0;i <eles.length;i++){ if(o.childNodes[i].type == "button"){ if(o.childNodes[i].style.background =="#a9a9a9") str += '0 '; else str += '1 '; } } alert(str); var hid = document.getElementById("Hidden1"); hid.value = str; //return str; }document.getElementById('Btn1').onclick=getValue; protected void Btn1_Click1(object sender, EventArgs e) { txt1.Text = this.Hidden1.Value; } Button裡面有兩個事件:onclick和OnClientClick,Onclick是你C#的事件,而OnClientClick你可以加javascript的事件,這兩個事件的執行順序是:OnClientClick-->Onclick你在javascript的事件裡面把你要的值寫到一個隱藏的TextBox或者Label中,然後當執行到C#事件時候去取就好了,我也是初學的,試下,你看下行嗎? [C#]请问如何保持某一个线程不断运行,直到该线程结束 VS2005 C# 调用EasyD12.dll 如何可以在C#2005中连接SQL2005时使用WINDOWS的登录密码 请教:登录界面的问题~~ NET开发CS程序,别人机器上页面显示混乱问题 麻烦前辈们解决下读书文本的事例 c#写的ocx放到网页上,客户端需要安装framework吗? TableMappings映射的问题 菜鸟提问在C#怎么判断字符串能否转换为数值型?用思念方法可以解决这个问题? 有關代碼轉換的問題請教.如何將這些代碼變回原來的中文字?謝!分不足可加 C# 在线播放.avi视频格式出现的问题 C# 接收短信代码
<asp:Button ID="Button1" ....
</html>
<script>
function test()
{
return 'aaa';
}function setvalue()
{
document.getElementById('txtTestValue').value=test();
}
document.getElementById('Button1').onclick=setvalue;
this.txtTestValue.Value
所以你的问题的思路应该为,再点击页面上的一个button时,先执行Client端的javascript,把计算出来的值,赋给一个TextBox;再Post页面到服务器端,服务器端再取出这个TextBox的值。
具体方法
网上搜一下
很多的
function getValue(){
var str = "";
var o = document.getElementById("Layer1");
var eles = o.childNodes;
for(var i=0;i<eles.length;i++){
if(o.childNodes[i].type == "button"){
if(o.childNodes[i].style.background =="#a9a9a9")
str += '0 ';
else
str += '1 ';
}
}
alert(str);
var hid = document.getElementById("Hidden1");
hid.value = str;
//return str;
}
protected void Btn1_Click1(object sender, EventArgs e)
{
string str = "";
str+="<script language='javascript'>";
str+="getValue();";
str+="</script>";
txt1.Text = this.Hidden1.Value;
}我是这么写的。。
function getValue(){
var str = "";
var o = document.getElementById("Layer1");
var eles = o.childNodes;
for(var i=0;i <eles.length;i++){
if(o.childNodes[i].type == "button"){
if(o.childNodes[i].style.background =="#a9a9a9")
str += '0 ';
else
str += '1 ';
}
}
alert(str);
var hid = document.getElementById("Hidden1");
hid.value = str;
//return str;
}
document.getElementById('Btn1').onclick=getValue;
protected void Btn1_Click1(object sender, EventArgs e)
{
txt1.Text = this.Hidden1.Value;
}
Onclick是你C#的事件,而OnClientClick你可以加javascript的事件,這兩個事件的執行順序是:OnClientClick-->Onclick
你在javascript的事件裡面把你要的值寫到一個隱藏的TextBox或者Label中,然後當執行到C#事件時候去取就好了,
我也是初學的,試下,你看下行嗎?