在JavaScript中调用后台c#方法
javascript代码片段:已经确保无误<scripttype=javascript>for(i=0;i<n;i++){document.getElementById(...
javascript代码片段: 已经确保无误
<script type=javascript>
for(i=0;i<n;i++)
{
document.getElementById("str_jp").value=jp[i];// ①
document.getElementById("str_ycl").value=y[i];// ②
document.getElementById("str_lrl").value=lurul[i];// ③
s=s+"<%=update(str_jp.Value,str_lrl.Value,str_ycl.Value)%>";//④
alert(s);//⑤
}
</script>
C#代码片段:
public String update(String jj,String lrl,String ycl)
{
link se = new link();
if (jj == "")
{
return "交接批次号不正确"+jj;
}
else if (lrl.Length == 0)
{
return "批次号:"+jj+" 请输入录入量";
}
else
{
if (ycl.Length == 0)
{
ycl = "0";
}
str = String.Format("update 考核表 set lrl='{0}',lrrq='{1}',lycl='{2}',ywzt='3' where jjpch='{3}'", lrl, DateTime.Now.ToString("yyyyMMdd"), ycl, jj);
se.link_databang_updata(str);
return se.s;
}
}
问:点击按钮执行顺序是④①②③⑤ ?怎样才能按①②③④⑤顺序执行? 展开
<script type=javascript>
for(i=0;i<n;i++)
{
document.getElementById("str_jp").value=jp[i];// ①
document.getElementById("str_ycl").value=y[i];// ②
document.getElementById("str_lrl").value=lurul[i];// ③
s=s+"<%=update(str_jp.Value,str_lrl.Value,str_ycl.Value)%>";//④
alert(s);//⑤
}
</script>
C#代码片段:
public String update(String jj,String lrl,String ycl)
{
link se = new link();
if (jj == "")
{
return "交接批次号不正确"+jj;
}
else if (lrl.Length == 0)
{
return "批次号:"+jj+" 请输入录入量";
}
else
{
if (ycl.Length == 0)
{
ycl = "0";
}
str = String.Format("update 考核表 set lrl='{0}',lrrq='{1}',lycl='{2}',ywzt='3' where jjpch='{3}'", lrl, DateTime.Now.ToString("yyyyMMdd"), ycl, jj);
se.link_databang_updata(str);
return se.s;
}
}
问:点击按钮执行顺序是④①②③⑤ ?怎样才能按①②③④⑤顺序执行? 展开
4个回答
展开全部
4的地方采用js前台访问后台的方法,用ajax实现
项目中引用 Ajax.dll文件
web.config中建立HttpHandler
<configuration>
<system.web>
<httpHandlers>
<addverb="POST,GET"path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
</system.web>
</configuration>
后台方法上加上[Ajax.AjaxMethod()]
[Ajax.AjaxMethod()]
public String update(String jj,String lrl,String ycl)
<script type=javascript>
for(i=0;i<n;i++)
{
document.getElementById("str_jp").value=jp[i];// ①
document.getElementById("str_ycl").value=y[i];// ②
document.getElementById("str_lrl").value=lurul[i];// ③
s=s+Example.update(str_jp.Value,str_lrl.Value,str_ycl.Value;//④
//Example是你后台的类名
alert(s);//⑤
}
</script>
项目中引用 Ajax.dll文件
web.config中建立HttpHandler
<configuration>
<system.web>
<httpHandlers>
<addverb="POST,GET"path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
</system.web>
</configuration>
后台方法上加上[Ajax.AjaxMethod()]
[Ajax.AjaxMethod()]
public String update(String jj,String lrl,String ycl)
<script type=javascript>
for(i=0;i<n;i++)
{
document.getElementById("str_jp").value=jp[i];// ①
document.getElementById("str_ycl").value=y[i];// ②
document.getElementById("str_lrl").value=lurul[i];// ③
s=s+Example.update(str_jp.Value,str_lrl.Value,str_ycl.Value;//④
//Example是你后台的类名
alert(s);//⑤
}
</script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
④是服务器端代码,在你这个页面解析成html之前在服务器端就已经执行了,即使你不点按钮它也已经执行了。
js掉服务器端代码不是这么写的,可以用webservice实现,具体方法你可以百度一下asp.net webservice
js掉服务器端代码不是这么写的,可以用webservice实现,具体方法你可以百度一下asp.net webservice
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
客户端 不能调用服务器端的 只有发出请求 也就是采用 ajax 或者别的发出请求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-01-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
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()
{
//……比如计算某值
}
方法一: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()
{
//……比如计算某值
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询