前台JS如何调用后台的方法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前台JS如何调用后台的方法。相关的知识,希望对你有一定的参考价值。

我把后台生成了N个按钮。
这外面有4个for循环。
Button btnNum = new Button();
btnNum.ID = "btnNum_" + i / 2 + "_" + j + "_" + m + "_" + n;
btnNum.OnClientClick = "javascript:fun(" + c + "," + i / 2 + "," + j + "," + m + "," + n + ");return false;";
点击生成的N个按钮中的其中一个,
<script language="javascript" type="text/javascript">
function fun(num,i,j,m,n)

alert("该处还有" +num+ "个空位!");
document.getElementById("plMessage").style.display="none";
document.getElementById("plSelect").style.display="none";
document.getElementById("plSampleXY").style.display="block";

</script>
然后我想在plSampleXY显示的时候,调用。CS里面的一个方法。
protected void btnNum_Click(object sender,EventArgs e)

一些事件。

怎么样能在JS中调用这个事件,由于我产生的N个BUTTON。所以。。
怎么办?

参考技术A Ajax正是为了解决此类问题。
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
这样也就可以通过发送异步请求来调用后台方法。
请参考:http://www.w3school.com.cn/ajax/ajax_intro.asp
参考技术B 可能是因为动态生成的控件,viewstate并不会保存他的状态,导致方法无法被调用;
要不试试用AJAX来实现
参考技术C js调用后台方法一般都要用ajax,asp.net里可以用ajaxpro,不过要把那个button改成html的input,ajaxpro的使用方法参见:
http://hi.baidu.com/gogodingo/blog/item/881525a4aed498f29152ee39.html本回答被提问者采纳

asp.net js调用后台方法

先前网上百度了很多 ,大致都一样 但是不太详细,总是不成功,然后试了很多,把经验发给大家看看

 

 

前台js

function aa()
{
//这里可以写你要带的参数用隐藏域放起来

    __doPostBack(‘LinkButton1‘, ‘‘);//一定要用dopostback的方式,否则有可能不成功
}

  

aspx页面

<input type="button" value="确定"  onclick="aa()"> 
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" Visible="false">LinkButton</asp:LinkButton>

  

c#页面   
protected void LinkButton1_Click(object sender, EventArgs e) { adel1();//这个就是你要执行的方法了 Response.Redirect(Request.Url.ToString()); } public string adel1() { ////// }

  

以上是关于前台JS如何调用后台的方法。的主要内容,如果未能解决你的问题,请参考以下文章

C#后台调用前台js(RegisterStartupScript)

asp.net后台cs中的JSON格式变量在前台Js中调用方法

前台js如何获取后台传过来的list数据?

js前台页面与后台如何传参

MVC Razor 前台执行后台方法

如何前台JS进行加密,后台java进行解密?