Nur*_*lan 1 c# asp.net panel mouseclick-event
我想将mouseclick
事件分配给asp.net panel
:
protected void Page_Load(object sender, EventArgs e)
{
Panel p = new Panel();
p.Click += new EventHandler(b_Click);//but, this doesn't compiles correctly
}
protected void b_Click(object sender, EventArgs e)
{
//C#code
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将click事件添加到面板?
您可以执行以下操作来使面板可单击并在服务器端处理事件.
将面板放在Web表单中
<asp:Panel runat="server" ClientIDMode="Static" ID="clickMe">
Click here
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)
将jQuery脚本库添加到您的页面.
<script src="http://code.jquery.com/jquery.min.js" language="javascript"
type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
定义以下客户端事件处理程序
$(document).ready(function() {
$("#clickMe").click(function () {
__doPostBack('clickMe', '');
});
});
Run Code Online (Sandbox Code Playgroud)
在服务器端处理事件.
protected void Page_PreRender(object sender, EventArgs e)
{
this.Page.ClientScript.GetPostBackEventReference(clickMe, "");
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] == "clickMe")
{
ClickMeOnClick();
}
}
Run Code Online (Sandbox Code Playgroud)
PreRender事件处理程序中的代码用于asp.net框架,以便在静默方面呈现__doPostBack函数.如果您的页面包含导致自动回发的控件,则不需要此代码.
归档时间: |
|
查看次数: |
7525 次 |
最近记录: |