내 aspx 페이지에 사용자 정의 컨트롤과 GridView가 포함되어 있습니다. 사용자 정의 컨트롤 내의 버튼을 클릭하면 DataTable이 만들어지고, 해당 DataTable에 대한 aspx 페이지의 GridView 데이터 소스를 설정해야합니다.UserControl의 결과에 gridview 바인딩하는 방법?
"RaiseBubbleEvent"메서드를 사용하여 부모 페이지에 단추를 클릭하는 이벤트를 전달했지만 이벤트를 전달할 필요는 없으며 만든 DataTable도 전달해야합니다.
이 내 사용자 컨트롤입니다 :
protected DataTable getSearchResults(object sender, EventArgs e)
{
string FieldName=DDLSearch.SelectedValue;
string SearchText=txtSearch.Text.Replace(" ","");
RaiseBubbleEvent(this, e);
return _BLTablesSearch.getSearchResults(FieldName, SearchText);
}
이 UserControl을 내 페이지 withing에 있습니다 : :
<td>
<uc1:QuickSearchControl runat="server" id="QuickSearchControl" />
</td>
을
<table>
<tr>
<td style="width: 10%">
<asp:Label ID="lblSearch" runat="server" Text="Search" Width="50px" Font-Size="Medium"></asp:Label>
</td>
<td style="width: 10%">
<asp:DropDownList CssClass="myddl" ID="DDLSearch" runat="server" Width="100px" OnSelectedIndexChanged="DDLRefugeeSearch_SelectedIndexChanged">
</asp:DropDownList>
</td>
<td style="width: 10%">
<asp:TextBox CssClass="mytextbox" ID="txtSearch" runat="server"></asp:TextBox>
</td>
<td style="width: 10%">
<asp:Button ID="BtnGo" runat="server" Text="Go" OnClick="getSearchResults" />
</td>
</tr>
</table>
이 코드는 "getSearchResult"이벤트 뒤에입니다 그래서 내 질문은 어떻게 할 수있는 다음과 같습니다 :
1- 사용자 제어의 이동 버튼을 클릭하면, 상위 페이지
4- 구속 할
-3- 창을 사용자가 컨트롤에 데이터 테이블이 요구되는 작업을 수행 상위 페이지
2-에 이벤트를 발생시킬
편집의 GridView는 :
이것은 사용자 제어 코드 @Lior 라즈의 대답은 다음과 다음과 같이
내 코드를 업데이트
public string TableName;
BLTablesSearch _BLTablesSearch = new BLTablesSearch();
public delegate void SearchComplete(DataTable FilteredData);
public event SearchComplete OnSearchComplete;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DDLSearch.DataSource = _BLTablesSearch.getSearchFields(TableName);
DDLSearch.DataTextField = "FieldText";
DDLSearch.DataValueField = "FieldValue";
DDLSearch.DataBind();
}
}
protected void getSearchResults(object sender, EventArgs e)
{
string FieldName=DDLSearch.SelectedValue;
string SearchText=txtSearch.Text.Replace(" ","");
}
이 영문 페이지 코드 :
BLPerson BLPerson = new BLPerson();
BLREOptions BLREOptions = new BLREOptions();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PersonListGridView.DataSource = BLPerson.getAllPersons();
PersonListGridView.DataBind();
QuickSearchControl.TableName = "Person";
}
QuickSearchControl.OnSearchComplete += new UserControls.QuickSearchControl.SearchComplete(HandleOnSearchComplete);
}
public void HandleOnSearchComplete(DataTable _searchResult)
{
}
[ "sessionname"]이 선을 명확히 주시겠습니까 다른 페이지 – SK2185