我想做电脑零件这样的网页。有3个网页。分别为 masterpage.master, default.aspx, default2.aspx
masterpage 有个 Treeview 是从northwind 提取的数据,然后生成了TreeView的目录。我原来先写了default2.aspx 这个和masterpage 一样,不过不是masterpage.master, 原来的可以该变 label1的值。 可后来加了masterpage.aspx,运行default.aspx label1 就不变了,很奇怪。请问为什么我想达到的效果 网页的上面是 home, 联系信息。左面是 TreeView 用户点击左面产品,相对产品信息出现在 ContentPlaceHolder 上面。查了很多地方,还是不知道如何用 MasterPage 和 ViewTree 达到这样的效果。我原来是用asp做的,用frame 和 include 可以达到这样效果,可 ASP.NET 2.0 怎末做呢万分感谢,MasterPage.master<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<script runat="server"> Const connectionString As String = _
"Server=localhost;Integrated Security=True;Database=Northwind"
Sub Page_Load()
if NOT IsPostBack Then
PopulateNodes()
End If
End Sub Sub PopulateNodes()
Dim dst As DataSet = GetTreeViewData()
for each masterRow As DataRow in dst.Tables("Categories").Rows
Dim masterNode As New _
TreeNode(masterRow("CategoryName").ToString())
TreeView1.Nodes.Add(masterNode)
for each childRow As DataRow in _
masterRow.GetChildRows("Children")
Dim childNode As New _
TreeNode(childRow("ProductName").ToString())
masterNode.ChildNodes.Add(childNode)
next
Next
TreeView1.CollapseAll()
End Sub
Function GetTreeViewData() As DataSet
Dim con As SqlConnection = new SqlConnection(connectionString)
Dim dadCats As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Categories", con)
Dim dadProducts As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Products", con)
Dim dst As DataSet = new DataSet()
dadCats.Fill(dst, "Categories")
dadProducts.Fill(dst, "Products")
dst.Relations.Add("Children", _
dst.Tables("Categories").Columns("CategoryID"), _
dst.Tables("Products").Columns("CategoryID"))
return dst
End Function
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Me.ContentPlaceHolder1.p()
Label1.Text = TreeView1.SelectedNode.Value
End Sub
</script>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 100px">
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">Home</asp:LinkButton></td>
<td style="width: 100px">
</td>
<td style="width: 100px">
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="~/AboutUs.aspx">Contact US</asp:LinkButton></td>
</tr>
<tr>
<td style="width: 100px">
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
</td>
<td style="width: 100px">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
ContentPlaceHolder</asp:contentplaceholder>
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
</table>
<br />
<br />
<br />
</div>
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Width="278px"></asp:Label>
</form>
</body>
</html>default2.aspx<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Populating TreeView Nodes from a SQL Database</title>
</head>
<script runat="server"> Const connectionString As String = _
"Server=localhost;Integrated Security=True;Database=Northwind"
Sub Page_Load()
if NOT IsPostBack Then
PopulateNodes()
End If
End Sub Sub PopulateNodes()
Dim dst As DataSet = GetTreeViewData()
for each masterRow As DataRow in dst.Tables("Categories").Rows
Dim masterNode As New _
TreeNode(masterRow("CategoryName").ToString())
TreeView1.Nodes.Add(masterNode)
for each childRow As DataRow in _
masterRow.GetChildRows("Children")
Dim childNode As New _
TreeNode(childRow("ProductName").ToString())
masterNode.ChildNodes.Add(childNode)
next
Next
TreeView1.CollapseAll()
End Sub
Function GetTreeViewData() As DataSet
Dim con As SqlConnection = new SqlConnection(connectionString)
Dim dadCats As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Categories", con)
Dim dadProducts As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Products", con)
Dim dst As DataSet = new DataSet()
dadCats.Fill(dst, "Categories")
dadProducts.Fill(dst, "Products")
dst.Relations.Add("Children", _
dst.Tables("Categories").Columns("CategoryID"), _
dst.Tables("Products").Columns("CategoryID"))
return dst
End Function
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = TreeView1.SelectedNode.Value
End Sub
</script>
<body>
<form id="form1" runat="server">
<br />
<br />
<asp:TreeView
ID="TreeView1"
Runat="Server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Width="278px"></asp:Label>
</form>
</body>
</html>default.aspx<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
Welcome to Kangaroo Site.
</asp:Content>
masterpage 有个 Treeview 是从northwind 提取的数据,然后生成了TreeView的目录。我原来先写了default2.aspx 这个和masterpage 一样,不过不是masterpage.master, 原来的可以该变 label1的值。 可后来加了masterpage.aspx,运行default.aspx label1 就不变了,很奇怪。请问为什么我想达到的效果 网页的上面是 home, 联系信息。左面是 TreeView 用户点击左面产品,相对产品信息出现在 ContentPlaceHolder 上面。查了很多地方,还是不知道如何用 MasterPage 和 ViewTree 达到这样的效果。我原来是用asp做的,用frame 和 include 可以达到这样效果,可 ASP.NET 2.0 怎末做呢万分感谢,MasterPage.master<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<script runat="server"> Const connectionString As String = _
"Server=localhost;Integrated Security=True;Database=Northwind"
Sub Page_Load()
if NOT IsPostBack Then
PopulateNodes()
End If
End Sub Sub PopulateNodes()
Dim dst As DataSet = GetTreeViewData()
for each masterRow As DataRow in dst.Tables("Categories").Rows
Dim masterNode As New _
TreeNode(masterRow("CategoryName").ToString())
TreeView1.Nodes.Add(masterNode)
for each childRow As DataRow in _
masterRow.GetChildRows("Children")
Dim childNode As New _
TreeNode(childRow("ProductName").ToString())
masterNode.ChildNodes.Add(childNode)
next
Next
TreeView1.CollapseAll()
End Sub
Function GetTreeViewData() As DataSet
Dim con As SqlConnection = new SqlConnection(connectionString)
Dim dadCats As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Categories", con)
Dim dadProducts As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Products", con)
Dim dst As DataSet = new DataSet()
dadCats.Fill(dst, "Categories")
dadProducts.Fill(dst, "Products")
dst.Relations.Add("Children", _
dst.Tables("Categories").Columns("CategoryID"), _
dst.Tables("Products").Columns("CategoryID"))
return dst
End Function
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Me.ContentPlaceHolder1.p()
Label1.Text = TreeView1.SelectedNode.Value
End Sub
</script>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 100px">
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">Home</asp:LinkButton></td>
<td style="width: 100px">
</td>
<td style="width: 100px">
<asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="~/AboutUs.aspx">Contact US</asp:LinkButton></td>
</tr>
<tr>
<td style="width: 100px">
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
</td>
<td style="width: 100px">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
ContentPlaceHolder</asp:contentplaceholder>
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
</table>
<br />
<br />
<br />
</div>
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Width="278px"></asp:Label>
</form>
</body>
</html>default2.aspx<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Populating TreeView Nodes from a SQL Database</title>
</head>
<script runat="server"> Const connectionString As String = _
"Server=localhost;Integrated Security=True;Database=Northwind"
Sub Page_Load()
if NOT IsPostBack Then
PopulateNodes()
End If
End Sub Sub PopulateNodes()
Dim dst As DataSet = GetTreeViewData()
for each masterRow As DataRow in dst.Tables("Categories").Rows
Dim masterNode As New _
TreeNode(masterRow("CategoryName").ToString())
TreeView1.Nodes.Add(masterNode)
for each childRow As DataRow in _
masterRow.GetChildRows("Children")
Dim childNode As New _
TreeNode(childRow("ProductName").ToString())
masterNode.ChildNodes.Add(childNode)
next
Next
TreeView1.CollapseAll()
End Sub
Function GetTreeViewData() As DataSet
Dim con As SqlConnection = new SqlConnection(connectionString)
Dim dadCats As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Categories", con)
Dim dadProducts As SqlDataAdapter = new _
SqlDataAdapter("SELECT * FROM Products", con)
Dim dst As DataSet = new DataSet()
dadCats.Fill(dst, "Categories")
dadProducts.Fill(dst, "Products")
dst.Relations.Add("Children", _
dst.Tables("Categories").Columns("CategoryID"), _
dst.Tables("Products").Columns("CategoryID"))
return dst
End Function
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = TreeView1.SelectedNode.Value
End Sub
</script>
<body>
<form id="form1" runat="server">
<br />
<br />
<asp:TreeView
ID="TreeView1"
Runat="Server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Width="278px"></asp:Label>
</form>
</body>
</html>default.aspx<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
Welcome to Kangaroo Site.
</asp:Content>
解决方案 »
- if (!theForm.onsubmit || (theForm.onsubmit() != false)) 报错!!!
- 用Javascript判断文本框输入只能由汉字、字母或数字组成?
- Image 服务器控件显示图片问题?
- 关于焦点!!!!!!!!!!
- 如何在ASP.NET上开发RSS啊?
- 请问为什么不能在图片上加文字
- 这个网站的收费充值怎么做?
- 有关dotnet中数据库语句的问题,急急!谢谢!!
- 讨论一下:什么语言在软件业里有前途?现在软件业不是很景气
- 某些特殊字符串一进入后台网站就无法显示
- 如何动态生成链接列?DataGrid.给出代码。急!!
- 为什么没和数据库连接起来呢---代码分析---急
如何从treeview向contentPlaceHolder 里面动态的写入内容,或直接把另一个网页动态的写入ContentPlaceHolder
左面是 TreeView 用户点击左面产品,相对产品信息出现在 ContentPlaceHolder 上面。
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
没有事件呀!
应该是<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">