我们可以绑定gridview控件whcih在usercontrol中这样 [英] can we bind gridview control whcih is in usercontrol like this

查看:66
本文介绍了我们可以绑定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屋!

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