希望有人能够帮助我.我基本上是在尝试使用HTML按钮在类中调用方法.其背后的原因是因为我打算使它的工作方式类似于登录(并希望它在登录时保持会话状态),以及保持按钮的当前视觉效果.
经过研究,基本上有一些地方说可以做到,但是出于某种原因,它对我来说根本行不通.它说你可以做到的地方
HTML Button like a ASP.NET Button
这是我的代码-
<form runat="server">
<div class="input">
<asp:TextBox ID="txtUser" runat="server" type="email" placeholder="Username"></asp:TextBox>
<span><i class="fa fa-envelope-o"></i></span>
</div>
<div class="input">
<asp:TextBox ID="TextBox1" runat="server" type="password" placeholder="Password"></asp:TextBox>
<span><i class="fa fa-lock"></i></span>
</div>
</form>
<button id="button1" runat="server" onserverclick="doIt" class="submit"><i class="fa fa-long-arrow-right"></i></button>
与包含的C#代码
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void doIt(object sender, EventArgs e)
{
Response.Redirect("index.html");
}
}
我要这样做是完全错误的方式吗? (重定向目前仅作为测试,直到我能够使它运行该方法,因为它没有运行.)
任何帮助表示赞赏.
以下是我所有的HTML代码:
<form class="login">
<fieldset>
<legend class="legend">Login</legend>
<form runat="server">
<div class="input">
<asp:TextBox ID="txtUser" runat="server" type="email" placeholder="Username"></asp:TextBox>
<span><i class="fa fa-envelope-o"></i></span>
</div>
<div class="input">
<asp:TextBox ID="TextBox1" runat="server" type="password" placeholder="Password"></asp:TextBox>
<span><i class="fa fa-lock"></i></span>
</div>
<button id="button1" runat="server" onserverclick="doIt" class="submit"><i class="fa fa-long-arrow-right"></i></button>
</form>
</fieldset>
<div class="feedback">
login successful <br />
redirecting...
</div>
</form>
解决方法:
您的HTML中有一个嵌套表单,这是无效的标记.删除内部表单,然后将runat =“ server”添加到剩余的表单中.然后将您的按钮放置在表单中,如下所示:
<form class="login" runat="server">
<fieldset>
<legend class="legend">Login</legend>
<div class="input">
<asp:TextBox ID="txtUser" runat="server" type="email" placeholder="Username"></asp:TextBox>
<span><i class="fa fa-envelope-o"></i></span>
</div>
<div class="input">
<asp:TextBox ID="TextBox1" runat="server" type="password" placeholder="Password"></asp:TextBox>
<span><i class="fa fa-lock"></i></span>
</div>
<%-- place the button here --%>
<button id="button1" runat="server" onserverclick="doIt" class="submit"><i class="fa fa-long-arrow-right"></i></button>
</fieldset>
<div class="feedback">
login successful
<br />
redirecting...
</div>
</form>
每个Web表单-.aspx-应该包含一个表单,并且必须包含runat =“ server”才能管理.cs文件.所有服务器端元素-具有runat =“ server”的元素,例如您的< button>必须包含在其中,以便后面的代码能够指向它.如果不这样做,您应该收到一个无效的回发或回调参数异常黄灯死机.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!