前台JS如何调用后台函数

cai272646063 2009-05-03 08:47:39
后台方法:

protected bool getValue(string str1, string str2)
{
if (str1 != str2)
return false;
else
return true;
}


前台js

function Test()
{
var str1="1";
var str2="2";
//if从getValue(str1,str2)中返回的值是true弹出“true”
}
...全文
1033 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiapengpeng 2010-05-10
  • 打赏
  • 举报
回复
var value1="jia";
var value2="peng";
var s = ' <%=getValue(value1,value2)%>';
mxc1225 2009-07-02
  • 打赏
  • 举报
回复
怎么会没有满意答案啊!?
有的写的很好啊@?!
hanke12345 2009-05-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 net_lover 的回复:]
你需要使用回调的方法实现

一个例子,你可以研究一下
使用ICallbackEventHandler 接口回调则非常简单。例子


<%@ Page Language="C#" AutoEventWireup="true" %>

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
public string GetCallbackRe…
[/Quote]
好好参考下
我姓区不姓区 2009-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cai272646063 的回复:]
服务器不支持ajax
[/Quote]
使用6楼的客户端回调方法
love41349279 2009-05-03
  • 打赏
  • 举报
回复
JS,如何调用后台方法,返回值是数组
陌上花花 2009-05-03
  • 打赏
  • 举报
回复
学习了,帮顶。
一方晴空 2009-05-03
  • 打赏
  • 举报
回复

UseScript = null;
function sure(value1,value2){
if(UseScript != null){
UseScript = document.createElement("script");
document.type = "text/javascript";
document.body.appendChild(UseScript);
}
UseScript.src = "path?id=" + value1 + "&cid=" + value2;
}
在后台新建一个页面,在里面处理就行了。
littlehand 2009-05-03
  • 打赏
  • 举报
回复
楼主如果想直接的话用此方法

<script>
var result="<%=GetFun()%>";
</script>


又要直接又要灵活请使用ajax吧
cai272646063 2009-05-03
  • 打赏
  • 举报
回复
服务器不支持ajax
Json1234562 2009-05-03
  • 打赏
  • 举报
回复
为是么不用 scriptmanger呢,可以直接弄啊,,
孟子E章 2009-05-03
  • 打赏
  • 举报
回复
你需要使用回调的方法实现

一个例子,你可以研究一下
使用ICallbackEventHandler 接口回调则非常简单。例子


<%@ Page Language="C#" AutoEventWireup="true" %>

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
public string GetCallbackResult()
{
return ret;
}
public void RaiseCallbackEvent(String eventArgument)
{
ret = "得到的客户端参数是:" + eventArgument + "\r\n" + "服务器端计算得到的参数:" + DateTime.Now.ToString();
}

string ret = "";


protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String cbReference = cm.GetCallbackEventReference(this, "arg", "ReceiveServerData", "");
String callbackScript = "function CallServer(arg, context) {" + cbReference + "; }";
cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
</head>
<body>
<form id="form1" runat="server">
</form>

<script type="text/javascript">
CallServer("客户端的参数");
function ReceiveServerData(arg, context) {
alert(arg)
}
</script>

</body>
</html>



参考

在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调

http://msdn.microsoft.com/zh-cn/library/ms178208.aspx
pt1314917 2009-05-03
  • 打赏
  • 举报
回复

protected string CsharpVoid(string strCC)
{
return strCC;
}

javascript 调用
<script language="javascript">
var s = "<%=CsharpVoid("www.hagen.cn")%>";
</script>
cpp2017 2009-05-03
  • 打赏
  • 举报
回复
用Ajax来调用

可以使用AjaxPro来做
cai272646063 2009-05-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 claymore1114 的回复:]
var s = " <%=getValue(str1,str2)%>";
[/Quote]

传值错误:当前上下文中不存在名称“str1”
hanyucq123 2009-05-03
  • 打赏
  • 举报
回复
应该说前台JS是不可能直接得到后台C#的值的,但可能用折中的办法,比如,可以放一个隐藏控件,在后台根据条件给其附值,在前台JS里判断其值并根据其值弹出
claymore1114 2009-05-03
  • 打赏
  • 举报
回复
var s = "<%=getValue(str1,str2)%>";

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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