深夜加班,为js 调用后台C#带参数函数,求高手相助!!!!!!
.ASPX文件
function Button4_onclick() {
var b = document.getElementById("MsgManagement_SendMsg1_Label1").innerText;
var a = "<%=LoadTopMenu(b)%>";
alert(a);
}
.CS文件
public string LoadTopMenu(string str)
{
return str+"!!!!!!!!";
}
调用失败~
不带参数的话,没问题,一带参数就不知道怎么回事了~
[解决办法]
如果不行 你可以换一个方式啊
function Button4_onclick() {
//var b = document.getElementById("MsgManagement_SendMsg1_Label1").innerText; //值是哪来的,可以直接放在后台吧。
var a = " <%=LoadTopMenu()%>";
alert(a);
}
.CS文件
public string LoadTopMenu()
{ //此处操作b吧
return str+"!!!!!!!!";
}
[解决办法]
我是这样写的:
aspx:
<script type="text/javascript">
var newplurl="<%=Get_new_pl_url() %>";
</script>
cs:
protected string Get_new_pl_url()
{
return "blog_pl_add.aspx?BlogID=";
}
==================================================
你可以参考改一下。
[解决办法]
<%=LoadTopMenu(b)%> 这里写是有问题的,
如果不好实现的话, 可以换个角度来解决,比如:
.ASPX文件
function Button4_onclick()
{
// 调用CS中的Button1事件,Button1的width设为0,这样就可以隐藏起来,
// 但如果将Visible设为false的话,Button1的事件就不会触发.
document.all('Button1').click();
}
.CS文件
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('" + MsgManagement_SendMsg1_Label1.Text + "!!!!!!!!');</script>");
}
[解决办法]
找了下 <%%>里面的都是后台代码 这个执行在你点击之前 也就是说你没点击 实际上这个方法已经执行过一次了 至于这个<%%>里面的JS参数是不能解析的。
所以要找个变通的方法 13楼的思路是对的 你的这个JS函数可以什么都不写 在后代的alert 。。。
[解决办法]
function Button4_onclick() { <% string b = MsgManagement_SendMsg1_Label1.Text ;%> var a = "<%=LoadTopMenu(b) %>"; alert(a); }
[解决办法]
<%%>是解析的后台代码,建议用后台脚本输出
[解决办法]
试试将该参数付给一个隐藏控件的值,然后获取控件的值试试
[解决办法]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ClientCallback.aspx.cs" Inherits="ClientCallback" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head id="Head1" runat="server"> <title>Client Callback Example</title> <script type="text/ecmascript"> function LookUpStock() { var lb = document.getElementById("ListBox1"); var product = lb.options[lb.selectedIndex].text; CallServer(product, ""); } function ReceiveServerData(rValue) { document.getElementById("ResultsSpan").innerHTML = rValue; } </script></head><body> <form id="form1" runat="server"> <div> <asp:ListBox ID="ListBox1" Runat="server"></asp:ListBox> <br /> <br /> <button type="Button" onclick="LookUpStock()">Look Up Stock</button> <br /> <br /> Items in stock: <span id="ResultsSpan" runat="server"></span> <br /> </div> </form></body></html>
[解决办法]