C#调用javascript的函数

mymgrubby 2009-01-19 03:35:23
是这样,我在按键里进行数据库操作,需要从页面取得一个值,这个值由javascript的一个函数实现,从C#里怎样从按键中调用这个函数并取得这个函数的返回值赋值给一个变量,来完成数据库操作呢?
...全文
581 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
GabrielCNMao 2009-01-19
  • 打赏
  • 举报
回复
呵呵,打字速度沒你結貼快.
GabrielCNMao 2009-01-19
  • 打赏
  • 举报
回复
Button裡面有兩個事件:onclick和OnClientClick,
Onclick是你C#的事件,而OnClientClick你可以加javascript的事件,這兩個事件的執行順序是:OnClientClick-->Onclick
你在javascript的事件裡面把你要的值寫到一個隱藏的TextBox或者Label中,然後當執行到C#事件時候去取就好了,
我也是初學的,試下,你看下行嗎?
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复
谢谢谢谢!!得到了!谢谢各位大哥的帮助!
sprc_lcl 2009-01-19
  • 打赏
  • 举报
回复
不能...
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;
}
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复
是不是调用的有问题?
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复

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;
}

我是这么写的。。
oranrry 2009-01-19
  • 打赏
  • 举报
回复
用ClientScript.GetCallbackEventReference
具体方法
网上搜一下
很多的
mapserver 2009-01-19
  • 打赏
  • 举报
回复
楼上的sprc_lcl说的不错,但是lz的思想有问题。

C#代码是运行在iis服务器端的,而javascript是运行在用户浏览器端的,所以C#肯定是不能执行调用javascript的函数。
所以你的问题的思路应该为,再点击页面上的一个button时,先执行Client端的javascript,把计算出来的值,赋给一个TextBox;再Post页面到服务器端,服务器端再取出这个TextBox的值。
sprc_lcl 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sprc_lcl 的回复:]
按钮事件取
string strvalue = this.txtTestValue.Value;
//其它程序
[/Quote]
d
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复
我好多控件都是这么添加的,但是这个需求要多一点,因为onclick还要进行C#操作
stning 2009-01-19
  • 打赏
  • 举报
回复
ajaxpro去看看这个
zyjj521 2009-01-19
  • 打赏
  • 举报
回复
按键ID.Attributes.Add("onclick","javascript:JavaScript函数名()");

不知道是否符合你问的问题!
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复
我的按键在C#里还要进行其他操作,只是想通过javascript的函数得到一个值,也就是说在按键里调用一下这个函数。。
sprc_lcl 2009-01-19
  • 打赏
  • 举报
回复
按钮事件取
this.txtTestValue.Value
sprc_lcl 2009-01-19
  • 打赏
  • 举报
回复


<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;
mymgrubby 2009-01-19
  • 打赏
  • 举报
回复
大家帮帮我吧。。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧