如何找到父页面gridview并将其绑定在用户控件事件中? [英] How to find the parent page gridview and bind it in user control event?

查看:64
本文介绍了如何找到父页面gridview并将其绑定在用户控件事件中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个.aspx页

 Contract.aspx 

其中有一个用户控件



<%@ Register Src =../ UserControls / ManageDocument.ascxTagName =DocumentTagPrefix =uc1%> 





和userControl有一个网格。现在我想绑定用户控件内的网格​​以保存点击某些条件



 .ascx 
partial class UserControls_ManageDocument:System。 Web.UI.UserControl
{
protected void btnSave_Click(object sender,System.EventArgs e)
{
if(somecondions)
{
//绑定父页面
}
}
}





我尝试过:



我是新手asp.net编码器,请帮帮我。我不知道是否可能。

解决方案

简单回答:不要。



用户控件不应该知道或关心包含它的页面。它应该是完全独立的。



相反,让用户控件在绑定父网格时引发事件。然后,包含页面可以订阅该事件,并在事件发生时执行任何操作。



用户控制:

 使用系统; 

partial class UserControls_ManageDocument:System.Web.UI.UserControl
{
public event EventHandler BindGrid;

受保护 void btnSave_Click(对象发​​件人,EventArgs e)
{
如果(某些条件)
{
EventHandler handler = BindGrid;
if (handler!= null )handler( this ,EventArgs.Empty);
}
}
}



父页面:

< uc1:Document runat =server
OnBindGrid =BindGrid
/>

  protected   void  BindGrid( object  sender,EventArgs e)
{
// 将网格绑定在这里......
}


I have a .aspx page

Contract.aspx

in which there is a user control

<%@ Register Src="../UserControls/ManageDocument.ascx" TagName="Document" TagPrefix="uc1" %>



and the userControl has a grid. Now i want to bind the grid inside user control to save click on some condition

.ascx
partial class UserControls_ManageDocument : System.Web.UI.UserControl
{
protected void btnSave_Click(object sender, System.EventArgs e)
 {
   if (somecondions)
   {
   //bind the Parent page
    }
  }
}



What I have tried:

I am a rookie asp.net coder, please help me. I don't know if that is even possible.

解决方案

Simple answer: Don't.

The user control should not know or care about the page that contains it. It should be entirely self-contained.

Instead, have the user control raise an event when the parent grid should be bound. The containing page can then subscribe to that event, and do whatever it needs to when the event is raised.

User control:

using System;

partial class UserControls_ManageDocument : System.Web.UI.UserControl
{
    public event EventHandler BindGrid;
    
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (some conditions)
        {
            EventHandler handler = BindGrid;
            if (handler != null) handler(this, EventArgs.Empty);
        }
    }
}


Parent page:

<uc1:Document runat="server"
    OnBindGrid="BindGrid"
/>

protected void BindGrid(object sender, EventArgs e)
{
    // Bind the grid here...
}


这篇关于如何找到父页面gridview并将其绑定在用户控件事件中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆