C# 将表单runat=server与母版页一起使用时出现问题?
我有一个母版页,其中有两个C# 将表单runat=server与母版页一起使用时出现问题?,c#,asp.net,webforms,master-pages,C#,Asp.net,Webforms,Master Pages,我有一个母版页,其中有两个内容占位符 我有一个使用此母版页的默认page.aspx 在默认页面中,一个ContentHolder有一个TreeView,另一个有一个GridView 现在我需要同时显示它们,并且都需要 但问题是我不能在一个页面中有两个实例 我尝试将放在母版页上,但是TreeView和GridView功能停止工作 请帮助我解决这个问题 页面文件: <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.mast
内容占位符
我有一个使用此母版页的默认page.aspx
在默认页面中,一个ContentHolder
有一个TreeView
,另一个有一个GridView
现在我需要同时显示它们,并且都需要
但问题是我不能在一个页面中有两个
实例
我尝试将
放在母版页上,但是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>
SumooHServer
母版页文件:
<%@ 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功能“停止工作”——但如果执行两个表单(一个在母版中,一个在使用母版的页面中)不起作用,那么从技术上讲,这两种方式都不起作用
ASP.NET 2.0+使用母版页的正确习惯用法是在母版页中放置表单标记。如果连接正确,使用母版的页面将不需要表单标记——它们将从母版获取标记。我今天早上刚部署的web应用程序就是这样工作的。:)
我猜页面本身实际上隐藏了一个代码问题,一旦表单标记正确实现,TreeView和GridView就无法正常工作
编辑
为了清楚起见,母版页必须具有
、所需的所有其他控件&HTML、占位符和结束标记
使用母版的页面根本不能有任何
标记,尤其不能有关闭
标记
这样做应该不会有问题。您说当
在母版页中时,TreeView和GridView功能“停止工作”——但是如果执行两个表单(一个在母版中,一个在使用母版的页面中)都不起作用,那么从技术上讲,这两种方式都不起作用
ASP.NET 2.0+使用母版页的正确习惯用法是在母版页中放置表单标记。如果连接正确,使用母版的页面将不需要表单标记——它们将从母版获取标记。我今天早上刚部署的web应用程序就是这样工作的。:)
我猜页面本身实际上隐藏了一个代码问题,一旦表单标记正确实现,TreeView和GridView就无法正常工作
编辑
为了清楚起见,母版页必须具有
、所需的所有其他控件&HTML、占位符和结束标记
使用母版的页面根本不能有任何
标记,尤其不能有关闭
标记
这样做应该不会有问题。您的母版页应该包含表单元素,结尾元素位于其底部
<%@ 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>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server" />
</div>
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server" />
</div>
</form>
</body>
苏木
内容页不应包含任何表单元素。母版页应包含表单元素,结尾元素位于其底部
<%@ 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>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server" />
</div>
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server" />
</div>
</form>
</body>
苏木
您的内容页不应包含任何用于您目的的表单元素。请澄清您的问题;这是无法理解的问题是我无法获取树视图,并且gridview在一起显示时不工作现在当我运行此命令时,我给我一个错误,说gridview需要在服务器上运行表单。如果我把它放在上面,它会给出一个错误,说不能有2台运行的服务器。删除Obout网格及其相关代码,看看会发生什么。我很好奇这是否真的是根本问题——也许它与母版页不兼容?如果我删除该页面运行,树视图也会运行。。。即使我把一个正常的网格错误是在那里请澄清你的问题;这是无法理解的问题是我无法获取树视图,并且gridview在一起显示时不工作现在当我运行此命令时,我给我一个错误,说gridview需要在服务器上运行表单。如果我把它放在上面,它会给出一个错误,说不能有2台运行的服务器。删除Obout网格及其相关代码,看看会发生什么。我很好奇这是否真的是根本问题——也许它与母版页不兼容?如果我删除该页面运行,树视图也会运行。。。即使我把一个正常的网格错误在那里我已经发布了.aspx页面如果你想我也可以发布母版页,如果这有帮助的话。。。谢谢,我试过了,但正如我告诉你的,treeview控件和gridviewcontrol功能停止工作。。。。。这就是为什么我对该做什么感到困惑…但只有gridview?树景有效吗?如果是这样的话,我想页面的某个地方仍然有一个
。请编辑您的帖子,以显示您要将其更改为的代码,其中窗体位于主窗体中,而子窗体中没有窗体标记。。。然后我们可以更有效地进行故障排除。我已经发布了.aspx页面,如果你愿意的话,我也可以发布母版页,如果这对你有帮助的话。。。谢谢,我试过了,但正如我告诉你的,treeview控件和gridviewcontrol功能停止工作。。。。。这就是为什么我对该做什么感到困惑…但只有gridview?树景有效吗?如果是这样的话,我想页面的某个地方仍然有一个
。请编辑您的帖子,以显示您要将其更改为的代码,其中窗体位于主窗体中,而子窗体中没有窗体标记。。。那我们就可以跳舞了