日期:2014-05-17  浏览次数:20513 次

asp.net 后台如何调用class='basic'
新手求教!老鸟帮忙看看!

DIV的 class='basic' ,在前台点击的时候就会调用jQuery来弹出一个层!
我想实现点击一个button按钮时执行button事件后 class='basic'弹出一个层。
我在前台的div中加入class='basic'属性后点击按钮就只弹出层并不能执行button中事件!
用什么方法才能实现执行button中的事件后才弹出层???

  我用是是C# 
jquery asp.net class basic c#

------解决方案--------------------
一般的执行顺序是先client端的javascript, 再执行server端的Event handler. 

如果你想先执行Server端的代码,可以在后台修改class属性。
前台:

       <style >
        .Box {
            border: thin dashed #FF0000;
        }
        
        .Box1{
            border: thin dashed #00FF00;
        }
        
       </style>

    
    <div id="TestDiv" runat="server" class="Box">
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

    </div>


后台:

 protected void Button1_Click(object sender, EventArgs e)
        {
            TestDiv.Attributes["class"] = "Box1";
        }

------解决方案--------------------
可能对你来说其实很简单,就是使用 RegisterStartupScript(...)注册和执行相应的脚本。这就跟加载新的页面然后在pageload时显示浮动div时一样的。

实际上对于asp.net程序员来说,应该使用UpdatePanel并且设置一个Panel(它的style设置为position:absolute)的Visible为true,看似弹出层。

但是不管是哪一种写法,都是回发机制造成你的困惑。都是一大堆与使用jQuery EasyUI等工具进行开发的重点完全不同的开发方法。
------解决方案--------------------
用个label控件记录页面的状态,再在前端$(document).ready()方法中依据label控件的text属性,控制div的显示