我在我的应用程序中使用了twitter bootstrap。我在主页面中有一个注销按钮,我在.aspx页面(内容页面)中有验证。
当我点击Logout按钮时,它正在验证Content页面中的文本框字段(这不应该在这里发生)。
这是我的代码;
Master.aspx:
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<ul class="nav ace-nav pull-right">
<li class="blue" style="background-color: #5090C1"><a data-toggle="dropdown" href="#" class="user-menu dropdown-toggle">
<span><small>Welcome,</small>
User Name </span> <i class="icon-caret-down"></i></a>
<ul class="user-menu pull-right dropdown-menu dropdown-yellow dropdown-caret dropdown-closer" id="user_menu">
<li><a href="javascript:void(0);" onclick="Logout();"><i class="icon-off"></i>Logout</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="main-container" class="main-container container-fluid">
<div class="main-content">
<div class="page-content">
<asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>
</div>
</div>
</div>
<asp:Button ID="btnLogout" OnClick="btnLogout_Click" runat="server" class="hidden" />
<script type="text/javascript">
function Logout() {
$("#btnLogout").click();
}
</script>
Master.aspx.cs:
protected void btnLogout_Click(object sender, EventArgs e)
{
Session.Clear();
Session.Abandon();
Session.RemoveAll();
Response.Redirect("~/SampleWindowCloser.htm");
}
Default.aspx的:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" MasterPageFile="~/Master.master"
Inherits="Default" ClientIDMode="Static" %>
<asp:Content ID="TestContentBody" runat="server" ContentPlaceHolderID="MainContent">
<div class="row-fluid">
<div class="span6">
<div class="control-group">
<label class="control-label" for="txtName">Name</label>
<div class="controls">
<input type="text" data-val="true" data-val-required="Name is required." title="Name" id="txtName">
<span data-valmsg-replace="true" data-valmsg-for="txtName" class="field-validation-valid text-warning red"></span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="txtAge">Age</label>
<div class="controls">
<input type="text" validation="name" description="Age" title="Age" id="txtAge">
<span data-valmsg-replace="true" data-valmsg-for="txtAge" class="field-validation-valid text-warning red"></span>
</div>
</div>
</div>
</div>
</asp:Content>
单击“注销”按钮后,如何停止验证内容页面?
请帮帮我。
答案 0 :(得分:3)
在按钮上使用CauseValidation=false
。
关于同样的更多讨论
这是堆栈溢出中的类似问题,其中取消按钮不验证
Form Validation With Bootstrap (jQuery)
我已经编辑了小提琴,用锚取代按钮取消然后它起作用。所以我认为您可以在代码中使用链接按钮。
的链接答案 1 :(得分:1)
只需将您的退出按钮的CausesValidation
属性设置为false
。
<asp:Button ID="btnLogout" OnClick="btnLogout_Click" runat="server" class="hidden" CausesValidation="false" />
修改强>
如果您打算使用锚标记,则可以创建一个单独的注销页面,您只需清除pageLoad
事件上的会话变量。使用锚标记重定向到此注销页面。