我正在创建一个小型的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文件?
答案 0 :(得分:1)
当您点击“添加新项目”并选择“网页表单”将页面添加到项目中时,您应该会在右侧看到一个复选框,上面写着“将代码放在单独的文件中”。听起来第二页没有检查过,这就是为什么它试图将代码嵌入网页本身。
答案 1 :(得分:0)
只需将方法复制到.cs
文件中,但不应使用script
标记,这样就可以了。
另外,请确保OnClick
文件中的按钮上有.aspx
个事件:
<asp:Button ID="btnCreateProject" runat="server" Text="Create New Project" OnClick="btnCreateProject_Click" />
答案 2 :(得分:0)
在项目中添加新页面时,请选中“请在单独文件中编码”复选框。有关详细信息,请查看以下屏幕截图。
答案 3 :(得分:0)
值得一提的是也将此添加到.aspx页面中
AutoEventWireup="true" CodeFile="PageName.aspx.cs" Inherits="PageName"
将OnClick事件带到您的.cs页面。