我使用html中的Web Studio 2015中的Web表单中添加了按钮。因此这些按钮在"设计"选项卡中。当我双击"设计"选项卡中的按钮时。它没有打开ASPX.CS页面。那是正常的吗?我的印象是我会那样工作。相反,我必须去手动编码每个事件处理程序。
我已经搜索了Google,并试图在Visual Studio上进行维修,但没有发现。
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="WebForm1.aspx.cs" Inherits="Module2LabExercise.WebForm1" %>
<!DOCTYPE html>
<html>
<head>
<title>
Currency Converter
</title>
</head>
<body>
<form runat = "server">
<div>
Convert:
<input type = "text" ID = "US" runat = "server" />
U.S. dollars to
<select ID = "Currency" runat = "server" />
<br /> <br />
<input type = "submit" value = "OK" ID = "Convert"
OnServerClick = "Convert_ServerClick" runat = "server" />
<input type = "submit" value = "Show Graph" ID = "ShowGraph"
OnServerClick = "ShowGraph_ServerClick" runat = "server" />
<br /> <br />
<img id="Graph" runat="server" src="//:0"/>
<br /> <br />
<p style = "font-weight: bold" ID = "Result" runat = "server"
>
</p>
</div>
</form>
</body>
</html>
`
我在想,如果我双击按钮。它将自动打开活动处理程序并创建活动处理程序。如果我错了。请纠正我,让我知道。只是因为我是出于想法而来这里。
您在按钮实现的后端添加该代码:这是代码
Response.redirect("ex.aspx");
ex.aspx是您的文件名
如果不起作用,请添加:
Server.Transfer("ex.aspx");
vs vs不会为non-asp标签执行此操作,但是如果您放置:
<asp:Button ID="Convert" runat="server" />
而不是
<input type = "submit" ID = "Convert" runat = "server" />
然后您将获得该功能
at
它没有打开ASPX.CS页面。那是正常的吗?
是的,它是正常的,因为该按钮是带有runat="server
的HTML
input[type="submit"]
,而不是asp.net
包装按钮,例如:<asp:button>
。因此,它不是由Asp.net
进行的。
为什么在HTML按钮上使用runat="server"
?如果您真的希望称为服务器端事件,则使用<asp:Button>
,以便在双击按钮上创建click-event
。
但是,如果您仍然坚持使用它,则必须将click
事件处理程序附加到HTML
按钮。
aspx 设计师页面中的事件处理程序。
//attach a script tag to your aspx page and add the click event to it.
<script language="C#" runat="server">
protected void Convert_ServerClick_manual1(object sender, EventArgs e)
{
//your code here
}
</script>
现在只需将onserverclick="Convert_ServerClick_manual1"
添加到按钮。
在
pageload
的aspx.cs
页面上附加事件处理程序
protected void Page_Load(object sender, EventArgs e)
{
Convert.Click += Convert_ServerClick_manual2;
}
现在在pageload
事件下方定义事件处理程序:
private void Convert_ServerClick_manual2(object sender, EventArgs e)
{
//your code here
}
手动事件处理程序
//just create the event handler for your button on the `aspx.cs` page and paste the handler name to the `HTML` button.
private void Convert_ServerClick_Manual3(object sender, EventArgs e)
{
//your code here
}
然后在您的设计页面中使用:
<input type = "submit" value = "OK" ID = "Convert" OnServerClick = "Convert_ServerClick_manual3" runat = "server" />
在<yourPage>aspx.cs
中的输入button[runat="server"]
手动创建event handler
,并将其连接到HTML
按钮。