<script type="text/javascript">
function transfer(aid) {
var status = "<%=transferMsg(aid) %>";
if (status == 1) alert("转播成功");
else alert("转播失败");
}
</script>
15 个解决方案
#1
ICallbackEventHandler 接口, xmlhttprequest对象
string s= "";
public string GetCallbackResult()
{
return s;
}
public void RaiseCallbackEvent(String eventArgument)
{
}
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String str= cm.GetCallbackEventReference(this, "arg", "ReceiveData", "");
String callbackScript = "function CallServer(arg, context) {" + str+ "; }";
cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
}
<script type="text/javascript">
CallServer("");
function ReceiveData(arg, context) {
alert(arg)
}
string s= "";
public string GetCallbackResult()
{
return s;
}
public void RaiseCallbackEvent(String eventArgument)
{
}
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String str= cm.GetCallbackEventReference(this, "arg", "ReceiveData", "");
String callbackScript = "function CallServer(arg, context) {" + str+ "; }";
cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
}
<script type="text/javascript">
CallServer("");
function ReceiveData(arg, context) {
alert(arg)
}
#2
正确的语法应该是:
var status = "<%=transferMsg("+aid+") %>";
但这种写法在页面加载的时候就执行了transferMsg(...)!
var status = "<%=transferMsg("+aid+") %>";
但这种写法在页面加载的时候就执行了transferMsg(...)!
#3
这是工作在服务器端的asp语法,与浏览器端javascript根本是分隔在两重天中。你先搞清楚代码工作在服务器还是浏览器,然后才能分别使用不同的设计思路。
#4
#5
二楼的大哥,你这个应该怎么用?
是加一个button,onclick事件为ReceiveData吗?
#6
这样的写法,会提示错误,因为代码页有一个transferMsg(int aid)。他就提示应该为int类型。
#7
我是想要做微博中的转发、收藏功能。
转发和收藏都是用<a>转发</a>,<a>收藏</a>把这些和其他网页代码一起放到一个大的<div>中,然后用Ajax显示出来。
网上搜到用<%=%>可以引用代码页的代码,我在代码页中自定义了transferMsg(int aid)函数,想调用这个函数。就用了上面这个方法,是否有更好的方法实现?
#8
改成string就没问题!
#9
运行在服务器端的代码怎么可能会知道要执行完才输出到浏览器的javascript是什么东西...
#10
那就是说这种方法用在这里完全不可取啦?
不知微博中的转发等功能是怎么实现的?大家是否有例子可以给我看看。
#11
浏览器与服务器交互,要么用ajax,要么就得刷新页面来提交请求..
#12
Ajax吧,服务端值传给客户端是可以的,但客户端变量传给服务端,一般情况下,不POST或GET一下是不行的
#13
不知大概可以怎么去实现?
#14
思路错误. 把需求贴出来.
#15
已经解决,没有使用上面的方法,使用ajax的方法
function collect(aid) {
$.ajax({
type: "post",
url: "collect.ashx",
data: {
aid: encodeURIComponent(aid)
},
success: function (data, status) {
alert(data);
},
dataType: "jason"
})
}
#1
ICallbackEventHandler 接口, xmlhttprequest对象
string s= "";
public string GetCallbackResult()
{
return s;
}
public void RaiseCallbackEvent(String eventArgument)
{
}
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String str= cm.GetCallbackEventReference(this, "arg", "ReceiveData", "");
String callbackScript = "function CallServer(arg, context) {" + str+ "; }";
cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
}
<script type="text/javascript">
CallServer("");
function ReceiveData(arg, context) {
alert(arg)
}
string s= "";
public string GetCallbackResult()
{
return s;
}
public void RaiseCallbackEvent(String eventArgument)
{
}
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String str= cm.GetCallbackEventReference(this, "arg", "ReceiveData", "");
String callbackScript = "function CallServer(arg, context) {" + str+ "; }";
cm.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);
}
<script type="text/javascript">
CallServer("");
function ReceiveData(arg, context) {
alert(arg)
}
#2
正确的语法应该是:
var status = "<%=transferMsg("+aid+") %>";
但这种写法在页面加载的时候就执行了transferMsg(...)!
var status = "<%=transferMsg("+aid+") %>";
但这种写法在页面加载的时候就执行了transferMsg(...)!
#3
这是工作在服务器端的asp语法,与浏览器端javascript根本是分隔在两重天中。你先搞清楚代码工作在服务器还是浏览器,然后才能分别使用不同的设计思路。
#4
基本上,使用asp.net ajax调用web service来从服务器端进行计算,就够了。
方法参考: http://www.google.com.hk/search?q=asp.net+ajax+ScriptService&hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:zh-cn:IE-SearchBox&source=lnt&tbs=lr:lang_1zh-CN%7Clang_1zh-TW&lr=lang_zh-CN%7Clang_zh-TW&sa=X&ei=77_DTM_NA4jqvQO_p8y9CA&ved=0CAcQpwU
方法参考: http://www.google.com.hk/search?q=asp.net+ajax+ScriptService&hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:zh-cn:IE-SearchBox&source=lnt&tbs=lr:lang_1zh-CN%7Clang_1zh-TW&lr=lang_zh-CN%7Clang_zh-TW&sa=X&ei=77_DTM_NA4jqvQO_p8y9CA&ved=0CAcQpwU
#5
二楼的大哥,你这个应该怎么用?
是加一个button,onclick事件为ReceiveData吗?
#6
这样的写法,会提示错误,因为代码页有一个transferMsg(int aid)。他就提示应该为int类型。
#7
我是想要做微博中的转发、收藏功能。
转发和收藏都是用<a>转发</a>,<a>收藏</a>把这些和其他网页代码一起放到一个大的<div>中,然后用Ajax显示出来。
网上搜到用<%=%>可以引用代码页的代码,我在代码页中自定义了transferMsg(int aid)函数,想调用这个函数。就用了上面这个方法,是否有更好的方法实现?
#8
改成string就没问题!
#9
运行在服务器端的代码怎么可能会知道要执行完才输出到浏览器的javascript是什么东西...
#10
那就是说这种方法用在这里完全不可取啦?
不知微博中的转发等功能是怎么实现的?大家是否有例子可以给我看看。
#11
浏览器与服务器交互,要么用ajax,要么就得刷新页面来提交请求..
#12
Ajax吧,服务端值传给客户端是可以的,但客户端变量传给服务端,一般情况下,不POST或GET一下是不行的
#13
不知大概可以怎么去实现?
#14
思路错误. 把需求贴出来.
#15
已经解决,没有使用上面的方法,使用ajax的方法
function collect(aid) {
$.ajax({
type: "post",
url: "collect.ashx",
data: {
aid: encodeURIComponent(aid)
},
success: function (data, status) {
alert(data);
},
dataType: "jason"
})
}