js脚本执行cs 方法 我只是希望 js调用cs方法. 通过方法给页面服务器控件直接lable赋值..icallbackeventhandler 和 ajax 好像都是通过字符串然后js处理才行. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “icallbackeventhandler 和 ajax 好像都是通过字符串然后js处理才行. ”没明白你的意思。用AJAX在CS方法里面不能给服务器控件赋值的,如果你只是想给控件赋值就直接用JS了或者就是在JS里面调用回传的函数回传一下页面(类似__doPostBack('<%=txtChange.ClientID %>','');) “icallbackeventhandler 和 ajax 好像都是通过字符串然后js处理才行. ”我意思是说. 这两个好像必须是方法返回字符串,然后通过js处理给控件赋值的.我要的是在cs方法里直接赋值. 比如: this.lable1.text = "xxx"; 吓我一跳,看标题还以为是js执行c#代码呢 啊? 看样子还是标题没表达清楚.. 不过,确实是希望通过 js 直接执行c#代码 var xScrollStickCssFilePath="sp\/Css\/main.css"; //路径参照你的写写document.write("<style>@import url("+xScrollStickCssFilePath+");</style>");献了^_^ 这个功能,通过你描述的方法貌似不能实现,你可以用Ajax返回一个XML,再用Js处理,然后赋值 嗯..我也试了. 通过ICallbackEventHandler 接口弄的.所以,我才说 回调接口和AJAX 都只能通过返回结果 然后js处理 赋值.这样就有点郁闷了. 本来很简单的一个赋值而已..只是控件实在有点多了. (2008-03-18 21:02:29) 路超(83676260)#代码与javaScript函数的相互调用问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在C#中访问JavaScript函数? 问题1答案如下:javaScript函数中执行C#代码中的函数:方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById("btn1").click(); 3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;方法二:1、函数声明为public 后台代码(把public改成protected也可以) public string ss() { return("a"); } 2、在html里用<%=fucntion()%>可以调用 前台脚本 <script language=javascript> var a = "<%=ss()%>"; alert(a); </script>方法三:1、<script language="javascript"> <!-- function __doPostBack(eventTarget, eventArgument) { var theForm = document.Form1; //指runat=server的form theForm.__EVENTTARGET.value = eventTarget; theFrom.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } --> </script> <input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')"> 方法四:<script language="javascript">function SubmitKeyClick(){ if (event.keyCode == 13) { event.cancelBubble = true; event.returnValue = false; document.all.FunName.value="你要调用的函数名"; document.form[0].submit(); }}</script><INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text"><input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉在.CS里有:public Page_OnLoad(){if (!Page.IsPost()){string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";//根据传回来的值决定调用哪个函数switch(strFunName){case "enter()":enter() ; //调用该函数break;case "其他"://调用其他函数break;default://调用默认函数break;}}}public void enter(){//……比如计算某值}问题2.如何在JavaScript访问C#变量?答案如下:方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本 "<script language='javascript'>var temp=" + tmp + "</script>" tmp是后台变量,然后js中可以直接访问temp获得值。3.如何在C#中访问JavaScript的已有变量?答案如下:方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中; 2、后台用request["id"]来获取值;方法二:可以用cookie或session4.如何在C#中访问JavaScript函数?答案如下:c#代码中执行javaScript函数:方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");方法二:使用Literal类,然后private void Button2_Click(object sender, System.EventArgs e){ string str; str="<script language='javascript'>"; str+="selectRange()"; str+="</script>"; / teral1.Visible=true; Literal1.Text=str;}比如:<input type="button" onclick="click()" value="test"/> 问题: 怎样使用javascript去触发后台事件处理程序及方法?你可以在aspx文件中添加一个LinkButton,给它添加事件,text属性值为空页面就看不到了; 在javascript函数里面可以这样调用后台事件: function click() { document.getElementById("linkButton").click(); } 此时,你单击html页面控件的时候就会调用后台LinkButton事件处理程序了 <script language="javascript" type="text/javascript"> function CheckSubject() { if(document.getElementById('<%= TextPostName.ClientID%>').value.length<1) { alert("标题不能为空"); document.getElementById('<%= TextPostName.ClientID%>').focus(); return false; } else if((document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('<')!=-1)|| (document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('>')!=-1)) { alert("标题中含有非法字符"); document.getElementById('<%= TextPostName.ClientID%>').focus(); return false; } return true; } 如何利用dsoframer.ocx控件读word文档的修订内容? C# 串口发送数据 c#导出Excel vs2005 c# 自动绑定? 两个类之间的问题,急需高手解决!谢谢 一个很简单的但又很急的问题!!!急急急 在用System.Web.Mail发邮件时,请问如何发送带图片的Html格式邮件? 请大家介绍本asp.net(c#)的好书 水晶报表提示错误,求助 《C# Web 服务高级编程》随书源代码(欢迎下载) c#中,SqlParameter对数据的操作问题 简单问题,如何实现"请稍候"的功能.
用AJAX在CS方法里面不能给服务器控件赋值的,如果你只是想给控件赋值就直接用JS了
或者就是在JS里面调用回传的函数回传一下页面(类似__doPostBack('<%=txtChange.ClientID %>','');)
我意思是说. 这两个好像必须是方法返回字符串,然后通过js处理给控件赋值的.我要的是在cs方法里直接赋值. 比如: this.lable1.text = "xxx";
啊? 看样子还是标题没表达清楚.. 不过,确实是希望通过 js 直接执行c#代码
document.write("<style>@import url("+xScrollStickCssFilePath+");</style>");献了^_^
你可以用Ajax返回一个XML,再用Js处理,然后赋值
嗯..我也试了. 通过ICallbackEventHandler 接口弄的.
所以,我才说 回调接口和AJAX 都只能通过返回结果 然后js处理 赋值.这样就有点郁闷了. 本来很简单的一个赋值而已..只是控件实在有点多了.
#代码与javaScript函数的相互调用问:
1.如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById("btn1").click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;方法二:1、函数声明为public
后台代码(把public改成protected也可以)
public string ss()
{
return("a");
}
2、在html里用<%=fucntion()%>可以调用
前台脚本
<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
方法三:1、<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument)
{
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
-->
</script>
<input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')">
方法四:<script language="javascript">
function SubmitKeyClick()
{
if (event.keyCode == 13)
{
event.cancelBubble = true;
event.returnValue = false;
document.all.FunName.value="你要调用的函数名";
document.form[0].submit();
}
}
</script><INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">
<input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉在.CS里有:
public Page_OnLoad()
{
if (!Page.IsPost())
{
string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
//根据传回来的值决定调用哪个函数
switch(strFunName)
{
case "enter()":
enter() ; //调用该函数
break;
case "其他":
//调用其他函数
break;
default:
//调用默认函数
break;
}
}
}public void enter()
{
//……比如计算某值
}问题2.如何在JavaScript访问C#变量?
答案如下:
方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server">
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
"<script language='javascript'>var temp=" + tmp + "</script>"
tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?答案如下:方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
2、后台用request["id"]来获取值;方法二:可以用cookie或session
4.如何在C#中访问JavaScript函数?
答案如下:
c#代码中执行javaScript函数:
方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>");
方法二:使用Literal类,然后
private void Button2_Click(object sender, System.EventArgs e)
{
string str;
str="<script language='javascript'>";
str+="selectRange()";
str+="</script>";
/ teral1.Visible=true;
Literal1.Text=str;
}
比如:<input type="button" onclick="click()" value="test"/> 问题: 怎样使用javascript去触发后台事件处理程序及方法?
你可以在aspx文件中添加一个LinkButton,给它添加事件,text属性值为空页面就看不到了;
在javascript函数里面可以这样调用后台事件:
function click()
{
document.getElementById("linkButton").click();
}
此时,你单击html页面控件的时候就会调用后台LinkButton事件处理程序了 <script language="javascript" type="text/javascript">
function CheckSubject()
{
if(document.getElementById('<%= TextPostName.ClientID%>').value.length<1)
{
alert("标题不能为空");
document.getElementById('<%= TextPostName.ClientID%>').focus();
return false;
}
else if((document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('<')!=-1)||
(document.getElementById('<%= TextPostName.ClientID%>').value.indexOf('>')!=-1))
{
alert("标题中含有非法字符");
document.getElementById('<%= TextPostName.ClientID%>').focus();
return false;
}
return true;
}