首页 > 解决方案 > 无法双击 c# 元素来创建事件处理程序

问题描述

在有人试图回答这个问题之前,我只想说我对编程世界很陌生,可能不了解一些基本的东西。话虽如此,我一直在开发一个 ASP.Net 应用程序,并且进展顺利。但是,每次将页面链接到我的默认页面时,我都无法再双击按钮等来创建事件处理程序(我不在调试模式下)

在此处输入图像描述

标签: c#asp.netvisual-studio

解决方案


嗯,看起来还可以。

好的,你的问题是这样的:

当您创建(添加)一个没有母版页的页面时,您的“最小”标记代码将如下所示:

在此处输入图像描述

所以,现在我们将如何按照上面的方法将我们的标记放在表单标签的一侧。

页面将呈现如下:

在此处输入图像描述

但是,我不会尝试将上述页面添加到母版页 - 这将是一团糟。

当您添加一个新页面(但使用主选项)时,该页面的标记将如下所示:

在此处输入图像描述

现在请注意标记的 BARE BONES 程度。

您没有“表单开始/结束”标签。

因此,附加到母版页的网页没有所有原始页面布局的东西 - 如果有,那么它将无法工作。请注意:

在此处输入图像描述

请注意绿色的波浪线 - 它告诉您标记是错误的,并且不允许。

那么,对于附加到主页面的子页面?然后不需要任何表单标签内容,实际上您的网页将自动“插入”到母版页中 - 因此,您只需按照上述方法将标记放在两个内容标签内。所以标记将如下所示:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <h2>This is some big text</h2>

    <asp:Button ID="Button1" runat="server" Text="Button" />

</asp:Content>

然后该页面将使用母版页+此页面呈现,如下所示:

在此处输入图像描述

所以这在很大程度上意味着如果您已经创建了网页,那么您就不能轻松地决定将该网页用作主页面 + 子页面组合。

如果您有/确实有现有页面?

我将创建一个新网页(主/子),然后将现有标记从该非主/子页面剪切 + 粘贴(转移)到新的 Web 表单。

理论上,您将获取表单标签之间的所有标记,并将其粘贴到内容标签中。

因此,您不能使用作为带有标记的常规页面创建的 Web 表单,然后决定将该相同的 Web 表单作为子项附加/使用到母版页。

如您所见,作为要掌握的子项创建的网页具有 WAY LESS 标记,并且它仅以内容标记开始,然后您可以自由地向该网页添加控件等。

所以这不起作用,因为您使用/创建了一个使用所有表单标签内容创建的现有网页,并且您现在尝试将该页面与主/子设置一起使用,而作为子级的网页根本没有所有这些额外的形式的东西。

我会创建一个新的网页(主/子)选择他的主页面,然后看看标记 - 它会像这样开始:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <h2>This is some big text</h2>

    <asp:Button ID="Button1" runat="server" Text="Button" />

</asp:Content>

而且,如果您在内容标签之间拖放控件,那么您可以双击该页面,就像在任何其他页面上一样开发和工作。

但请记住,两种类型的网页之间的标记存在显着差异 - 正如您所见,它们的标记完全不同,对于附加到母版页的子页面 - 不存在表单标签等。

在幕后,主页面呈现,然后子页面为您注入该页面。因此理论上表单开始/结束标记存在于母版页中,并且您的“内容”会自动注入该母版页。

在大多数情况下,这些子页面中的任何开发都与常规(未附加到主页面)页面相同,但标记开始时有很大不同。

所以,不,您不能将构建并附加到母版页的页面作为单独的页面互换 - 反之亦然。


推荐阅读