我们可以绑定gridview控件whcih在usercontrol中这样 [英] can we bind gridview control whcih is in usercontrol like this
本文介绍了我们可以绑定gridview控件whcih在usercontrol中这样的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用页作为 新页面()
Dim userControl As UserControl = DirectCast (page.LoadControl( 〜/ UserControl / EICTEAMCOMMUNICATION.ascx ),UserControl)
page.Controls.Add(userControl)
Dim dtList 正如 DataTable = clsCommon.ListRecommendation(clsAuth.GetEXTMID)
TryCast (userControl.FindControl( gridRecommend),GridView).DataSource = dtList
TryCast (userControl.FindControl( gridRecommend),GridView).DataBind()
page.Controls.Add(userControl)
Dim writer As New StringWriter()
page.Controls.Add (userControl)
HttpContext.Current.Server.Execute(page,writer, False )
返回 writer.ToString()
结束 使用
解决方案
您好,
请尝试以下代码。
我们加载用户控件的Html代码页。
< html xmlns = http://www.w3.org/1999/xhtml >
< head runat = server >
< title > < < span class =code-leadattribute> / title >
< / head >
< body >
< 跨度>form id = form1 runat = server >
< div >
< asp:占位符 runat = server id = ControlsHolder xmlns:asp = #unknown > < / asp:占位符 >
< / div >
< / form >
< / body >
< / html >
用户控制代码
< pre 浪跨度> = HTML >
< ![CDATA [<%@ 控制 语言 < span class =code-keyword> = C# AutoEventWireup = true CodeBehind = demo.ascx .cs 继承 = CodeProject.Partials.demo % > ]]>
< asp:gridview runat = server id = grdData xmlns:asp = #unknown >
< 列 >
< asp:boundfield headertext = 电影 datafield = 电影 / >
< asp:boundfield headertext = 电视系列 datafield = TvSeries / >
< / columns >
< / asp:gridview >
页码代码。
进口 System.Collections.Generic
Imports System.Linq
Imports System .Web
Imports System.Web.UI
Imports System.Web.UI .WebControls
Imports System.IO
Imports System.Diagnostics
Imports System.Data
命名空间 CodeProject
公开 部分 类主页
继承 System.Web.UI.Page
受保护的 Sub Page_Load(sender As Object ,e As EventArgs)
Dim dt As 新 DataTable()
dt.Columns.Add(新 DataColumn( 电影, GetType ([ String ])))
dt.Columns.Add( New DataColumn( TvSeries, GetType ([ String ])))
dt.Rows.Add( Serendipity, 越狱)
dt.Rows.Add(Out of Furnace, 我如何遇见你的母亲)
dt.Rows.Add( Gravity, Lost)
dt.Rows .Add( Ted, 越狱)
' 加载用户控件。
Dim uc As UserControl = DirectCast (Page.LoadControl(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, \partials\demo.ascx)),UserControl)
' 从用户控制中查找GridView
Dim grd 作为 GridView = DirectCast (uc.FindControl( grdData),GridView)
grd.AutoGenerateColumns = False
' 将数据绑定到网格视图
grd.DataSource = dt
grd.DataBind()
' 将用户控件添加到PlaceHolder。
ControlsHolder.Controls.Add(uc)
结束 Sub
结束 类
结束 命名空间
Alth我已经加载了一些静态数据。但是,你可以从任何你想要的地方加载。
你可以通过这种方式绑定任何控件。
希望这有帮助!
Using page As New Page()
Dim userControl As UserControl = DirectCast(page.LoadControl("~/UserControl/EICTEAMCOMMUNICATION.ascx"), UserControl)
page.Controls.Add(userControl)
Dim dtList As DataTable = clsCommon.ListRecommendation(clsAuth.GetEXTMID)
TryCast(userControl.FindControl("gridRecommend"), GridView).DataSource = dtList
TryCast(userControl.FindControl("gridRecommend"), GridView).DataBind()
page.Controls.Add(userControl)
Dim writer As New StringWriter()
page.Controls.Add(userControl)
HttpContext.Current.Server.Execute(page, writer, False)
Return writer.ToString()
End Using
解决方案
Hi,
Try the following code.
Html Code Page in which we load user control.
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:placeholder runat="server" id="ControlsHolder" xmlns:asp="#unknown"></asp:placeholder> </div> </form> </body> </html> User control Code <pre lang="HTML"> <![CDATA[<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="demo.ascx.cs" Inherits="CodeProject.Partials.demo" %>]]> <asp:gridview runat="server" id="grdData" xmlns:asp="#unknown"> <columns> <asp:boundfield headertext="Movies" datafield="Movies" /> <asp:boundfield headertext="Tv Series" datafield="TvSeries" /> </columns> </asp:gridview>
Page Level Code.
Imports System.Collections.Generic Imports System.Linq Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.IO Imports System.Diagnostics Imports System.Data Namespace CodeProject Public Partial Class Home Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As EventArgs) Dim dt As New DataTable() dt.Columns.Add(New DataColumn("Movies", GetType([String]))) dt.Columns.Add(New DataColumn("TvSeries", GetType([String]))) dt.Rows.Add("Serendipity", "Prison Break") dt.Rows.Add("Out of Furnace", "How i Met your mother") dt.Rows.Add("Gravity", "Lost") dt.Rows.Add("Ted", "Prison Break") 'Load the user control. Dim uc As UserControl = DirectCast(Page.LoadControl(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "\partials\demo.ascx")), UserControl) 'Find the GridView from User Control Dim grd As GridView = DirectCast(uc.FindControl("grdData"), GridView) grd.AutoGenerateColumns = False 'Bind Data to Grid view grd.DataSource = dt grd.DataBind() 'Add User Control to PlaceHolder. ControlsHolder.Controls.Add(uc) End Sub End Class End Namespace
Although, I have loaded some static data. But, you can load from anywhere you want.
And you can bind any control by this way.
Hope this helps!
这篇关于我们可以绑定gridview控件whcih在usercontrol中这样的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文