【发布时间】:2009-09-22 20:17:20
【问题描述】:
我有一个包含两个 ContentPlaceHolders 的母版页。
我有一个使用此母版页的默认 page.aspx。
在默认页面中,一个ContentHolder 有一个TreeView,另一个有一个GridView。
现在我需要同时显示它们,并且都需要<form runat="server">。
但问题是我不能在一个页面中有两个 <form runat="server"> 实例。
我尝试将<form runat="server"> 放在母版页上,但随后TreeView 和GridView 功能停止工作.....
请帮助我解决这个问题。
页面文件:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="GridViewPg1.aspx.cs" Inherits="GridViewPg1" %>
<%@ Register assembly="obout_Grid_NET" namespace="Obout.Grid" tagprefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<form id="form1" runat="server">
<asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical">
<a style="color: #000000; font-weight: bold;">SumooHServer</a>
<p> <asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:SumooHAgentDBConnectionString %>"
SelectCommand="SELECT DISTINCT [MachineGroupName], [MachineGroupID] FROM [MachineGroups]">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:SumooHAgentDBConnectionString %>"
SelectCommand="SELECT DISTINCT [PolicyID], [PolicyName] FROM [Policies]">
</asp:SqlDataSource>
<asp:TreeView ID="TreeView2" runat="server"
ontreenodepopulate="TreeView2_TreeNodePopulate">
<Nodes>
<asp:TreeNode NavigateUrl="~/GridViewPg1.aspx" PopulateOnDemand="True"
Text="Machine Group" Value="Machine Group"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:TreeView ID="TreeView3" runat="server"
ontreenodepopulate="TreeView3_TreeNodePopulate">
<Nodes>
<asp:TreeNode PopulateOnDemand="True" Text="Policies" Value="Policies">
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</p></asp:Panel>
</form>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
<asp:Panel ID="Panel2" runat="server" ScrollBars="None" Width="100%">
<cc1:Grid ID="Grid1" runat="server" AllowFiltering="True"
AllowGrouping="True" DataSourceID="SqlDataSource3">
</cc1:Grid>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:SumooHAgentDBConnectionString %>"
SelectCommand="SELECT * FROM [MachineGroups]"></asp:SqlDataSource>
</asp:Panel>
</asp:Content>
母版页文件:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!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>
<title>SumooH</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="wrapper">
<div id="header"
style="border-bottom-style: solid; border-bottom-color: #0000FF; border-bottom-width: medium">
</div>
<div id="left-content"
style="border-right: thin ridge #000000; top: 104px;">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<div id="content-wrapper">
<div id="content-inner">
<asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server">
</asp:ContentPlaceHolder>
</div>
<div id="footer">
<p> </p>
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
-
请澄清您的问题;这是无法理解的
-
问题是我无法让treeview和gridview一起显示时不起作用
-
现在当我运行这个我给我一个错误说 gridview 需要表单 runat 服务器。如果我说它会给出一个错误,说不能有 2 个 runat 服务器。
-
删除 Obout Grid 及其相关代码,看看会发生什么。我很好奇这是否真的是根本问题——也许它与母版页不兼容?
-
如果我删除页面运行,treeview 也会运行...即使我放置一个普通网格,错误仍然存在
标签: c# asp.net webforms master-pages