我已使用HTML将按钮添加到Visual 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>
`
我当时想如果我双击按钮。它将自动打开事件处理程序并创建事件处理程序。如果我错了。请纠正我,让我知道。只是来这里是因为我没有想法。
答案 0 :(得分:0)
您将该代码添加到按钮实现的后端: 这是代码
Response.redirect("ex.aspx");
ex.aspx是您的文件名
如果它不起作用,则添加:
Server.Transfer("ex.aspx");
答案 1 :(得分:0)
VS不会对非ASP标签执行此操作,但是如果您改为:
<asp:Button ID="Convert" runat="server" />
代替
<input type = "submit" ID = "Convert" runat = "server" />
然后您将获得该功能
答案 2 :(得分:0)
至于
它没有打开ASPX.CS页面。正常吗?
是的,这是正常的,因为该按钮是带有HTML
的{{1}} input[type="submit"]
而不是像runat="server
这样的asp.net
包装的按钮。因此,<asp:button>
不会对其进行编译。
为什么在HTML按钮上使用Asp.net
?如果您确实希望调用服务器端事件,请使用runat="server"
这样,您将可以在双击按钮时创建<asp:Button>
。
但是如果您仍然坚持使用它,则必须使用3种方式将click-event
事件处理程序附加到click
按钮上。
aspx 设计器页面中的事件处理程序。
HTML
现在只需在按钮上添加一个//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" />
中的输入event handler
手动创建button[runat="server"]
,并将其附加到<yourPage>aspx.cs
按钮上。