关于ASP.NET的后台.cs和js函数之间的调用以及其他坑人的点

asp控件带上runat="server"才可以使用OnClick=".cs文件中的函数名"

而HTML控件如<a><input>等标签,基本上在没有引用js的情况下,直接用上面的方法也可以调用.cs函数的

但是如果你 引用了.js文件,就可以不是那么顺利地能调用.cs函数了,可以使用如下方法调用

注意调用.js文件函数,貌似是需要去掉runat="server"的,不然是 会报错的。

如<a href="#" οnclick="js函数名"> ...</a>

一、JS调用CS(可以解决按钮无法调用cs后台方法(有误))

在.aspx文件直接加上

    <script type="text/javascript">        

        //前台js函数调用后台函数
        function JS函数名() {
            <%.cs后台函数名();%> //PS:后台博主才知道,它是会直接运行的,加载这段js代码的时候就执行,而且只执行一次,哎-。- 所以这个方法还是不行,后来通过得知用jquery的$.ajax()就很完美地解决了 如何调用后台方法 以及 传参等一系列问题。
        }
        
    </script>

注意<% cs函数名(); %> 不要漏了分号在后面.

不能把这段代码写在.js文件通过引用方式来实现,必须放在aspx文件下这样写,不然也会报错。

后台.cs代码我就不写了。

二、CS调用JS(一般是在cs处理了一些东西后,再去js特殊处理一些东西,能利用好js加速我们的编程速度。。)

假设js代码中有InitCreatedTeam方法,需要传递2个参数,那么CS调用JS方法的代码如下,下面的方法是写在.cs文件的函数中的

    ClientScript.RegisterStartupScript(Page.GetType(), "InitCreatedTeam"+v.id,
                        "<script>InitCreatedTeam('"+v.id+"','" + v.teamname + "')</script>");

第一个参数固定,第二个参数为key(唯一),第三个参数为<script> js函数名('参数一','参数二')</script>

注意:key必须要唯一,不然后续添加都失败

三、刷新界面会重复提交表单问题

在提交表单的按钮上加个onclick事件,在事件内加上Response.Redirect("xxx.aspx");代码,放到函数的最后一行!

xxx.aspx即你刷新的那个界面。

以上完毕!!!(真的是神坑好几个问题)

四、使用了runat="server"后,js获取不了该控件的问题

原因是因为加了runat="server"属性后,会变为asp控件,而asp控件的ID会变动,所以导致获取不到,网上也有其他方法类似

$("#<%=id.ClientID%>")但是不行!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值