0

我正在创建一个小型 asp.net 应用程序,但我面临的问题可能很容易解决。

在我的母版页上,我有一个“登录”按钮。我已将按钮放在表单上,​​双击它,并且 OnClick 事件按我的预期放置在 .cs 文件中。

protected void btnLogin_Click(object sender, EventArgs e)
{
    var u = new UserDto
        {
            Password = txtPassword.Text,
            Username = txtUsername.Text,
            validated = false
        };

    var us = new UserService().ValidateUser(u);
    if (us.validated)
    {
      // Etc etc
    }
}

我现在已经重定向到另一个页面,其中有一些 gridviews 和 objectdatasources。然后我在该表单中添加了一个新按钮,就像我在登录表单上所做的一样:

<asp:Button ID="btnCreateProject" runat="server" Text="Create New Project" />

但是现在,当我在设计器中双击按钮以创建 OnClick 事件时,会在 aspx 文件中创建 OnClick 事件!

<script runat="server">

    protected void btnCreateProject_Click(object sender, EventArgs e)
    {

    }
</script>

首先,为什么会这样?其次,我如何让它进入我的 .cs 文件?

4

4 回答 4

1

当您单击“添加新项目”并选择“Web 表单”以将页面添加到您的项目时,您应该注意到右侧有一个复选框,上面写着“将代码放在单独的文件中”。听起来第二页没有检查这个,这就是为什么它试图将代码嵌入网页本身。

于 2013-07-13T09:14:17.043 回答
0

只需将该方法复制到不带标签的.cs文件中,它就可以工作。script

另外,请确保您OnClick在文件中的按钮上有事件.aspx
<asp:Button ID="btnCreateProject" runat="server" Text="Create New Project" OnClick="btnCreateProject_Click" />

于 2013-07-13T09:12:15.313 回答
0

当您在项目中添加新页面时,请选中“请在单独的文件中编码”复选框。有关更多信息,请查看下面的屏幕截图。

在此处输入图像描述

于 2013-07-13T09:18:40.010 回答
0

值得一提的是,还将它添加到您的 .aspx 页面
AutoEventWireup="true" CodeFile="PageName.aspx.cs" Inherits="PageName"

会将 OnClick 事件带到您的 .cs 页面。

于 2015-09-06T07:26:34.327 回答