JS调用后台方法,传参数问题

z8129858 2011-04-12 11:46:52
JS中:
var bb="啊啊啊啊";
var nn="<%=postrank("+bb+") %>";
后台方法:
public string postrank(string a)

就是想把JS中bb这个值传给后台的方法做处理,但是后台接受的却是"+bb+"这组字符串。请问该如何传这个值。
...全文
912 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
z8129858 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ljx09195117 的回复:]
当然,这些东西你应该都是靠按钮激活的,这个按钮也要在我上面说的控件里面
[/Quote]

我的那个层和按钮也是用JS生成的,
document.getElementById("toclick1").innerHTML='<input onclick="add();" id="Button2" name="Button2" type="button" value="提交" />';
toclick1是TD的ID。所以按钮只能调JS,生成不了事件,还有什么好办法么,或者改我现有的
Jeff Xiong 2011-04-12
  • 打赏
  • 举报
回复
<%
var bb="啊啊啊啊";
var nn=postrank(bb);
%>
<%=nn%>
ljx09195117 2011-04-12
  • 打赏
  • 举报
回复
当然,这些东西你应该都是靠按钮激活的,这个按钮也要在我上面说的控件里面
ljx09195117 2011-04-12
  • 打赏
  • 举报
回复
你说的效果我上面的代码就可以了,如果你想使用AJAX,那就在你的页面<from>外添加
<asp:ScriptManager runat="server">
</asp:ScriptManager>
接着把你需要无刷新传回去的内容用控件
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
这里是你要传回去的HTML代码,比如我上面写的:<input id="input1" runat="server" type="hidden" />
</ContentTemplate>
</asp:UpdatePanel>
这样就实现AJAX了,这个方法简单,不过效率不好,不过你只有一段文本的话没问题,跟用JQ,JS之类的AJAX都是差不多效率的
z8129858 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ljx09195117 的回复:]
《% %>里面的就是后台的代码了,你的想法肯定认为("+bb+") 是把JS里面的bb传回去,其实不是的,你要把
"<%=postrank("+bb+") %>";看成是在cs文件写了这样postrank("+bb+")的一段代码 ,那你说你传的是不是就是+bb+这个string?
想做你说的效果,最好把bb赋值给input,js用document.From.sumbit[0]回后台去inpu……
[/Quote]

我做的是点击一个链接,然后弹出一个层,上面有文本,有按钮,点按钮提交给后台把文本插入数据库
ljx09195117 2011-04-12
  • 打赏
  • 举报
回复
三部分分别添加下面的代码就可以实现你说的
JS代码

var input1 = "<%=input1.ClientID %>";
var bb="啊啊啊啊";
document.all(input1).value = bb;
document.from.sumbit[0];

HTML代码

<input id="input1" runat="server" type="hidden" />

后台代码

string bb = input1.value;
z8129858 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huangwenquan123 的回复:]
用ajax get 或post到服务端,接收参数处理后返回,客户端nn在接受返回过来的值

或继承ICallbackEventHandler这个接口进行回调!
[/Quote]

能详细点给我个例子么,AJAX不太明白
ljx09195117 2011-04-12
  • 打赏
  • 举报
回复
《% %>里面的就是后台的代码了,你的想法肯定认为("+bb+") 是把JS里面的bb传回去,其实不是的,你要把
"<%=postrank("+bb+") %>";看成是在cs文件写了这样postrank("+bb+")的一段代码 ,那你说你传的是不是就是+bb+这个string?
想做你说的效果,最好把bb赋值给input,js用document.From.sumbit[0]回后台去input的值
其实如果不是牵扯到数据库的改动或者业务方面的改动,只是单纯的对一个string进行处理的话JS本身就满足要求没必要把东西前后台传来传去的,如果你可以具体说说你要做些什么我想会有更好的答案
meceky 2011-04-12
  • 打赏
  • 举报
回复
可以用微软的那个Ajax类库,然后通过webservices来实现!
huangwenquan123 2011-04-12
  • 打赏
  • 举报
回复
用ajax get 或post到服务端,接收参数处理后返回,客户端nn在接受返回过来的值

或继承ICallbackEventHandler这个接口进行回调!
huangwenquan123 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 z8129858 的回复:]
JS中:
var bb="啊啊啊啊";
var nn="<%=postrank("+bb+") %>";
后台方法:
public string postrank(string a)
[/Quote]
先执行的是后台在执行前台,它把你+bb+当作一个参数处理,然后看你方法postrank返回的是什么,nn接受的就是什么
z8129858 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wx8849 的回复:]
百度一下就知道
[/Quote]
百度了一下还是不知道
wx8849 2011-04-12
  • 打赏
  • 举报
回复
百度一下就知道
z8129858 2011-04-12
  • 打赏
  • 举报
回复
解决了,谢谢ljx09195117,谢谢各位。
legendlovehao 2011-04-12
  • 打赏
  • 举报
回复
说个简单的调用方法 只是简单的操作 你可以把你在前台页面上的JS的值赋给一个隐藏域里面(这里用JS还是Jquery 自己选当然都是非常简单的) 然后再在后台直接取哪个隐藏域里面的值就好 希望能帮助到你

62,041

社区成员

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

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

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

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