【问题标题】:not to validate a page on onclick不验证 onclick 页面
【发布时间】:2014-07-29 15:30:43
【问题描述】:

我在我的应用程序中使用引导程序。

我正在通过单击保存按钮验证页面。但验证适用于页面中的所有可用按钮。这是我的代码:

Default.aspx

 <div class="row-fluid">
        <div class="form-horizontal">
  <div class="col-sm-6">
                <div class="form-group">
                    <label for="txtName" class="col-sm-4 control-label no-padding-right">
                        Asset Name</label>
                    <div class="col-sm-8">
                        <asp:TextBox ID="txtName" runat="server" ToolTip="Name" TextMode="MultiLine"
                            Width="300px" Style="resize: none;" data-val-required=" Name is required."
                            data-val="true"> </asp:TextBox>
                        <span class="field-validation-valid text-warning red" data-valmsg-for="txtName"
                            data-valmsg-replace="true"></span>
                    </div>
                </div>
                <div class="form-group">
                    <label for="txtLocation" class="col-sm-4 control-label no-padding-right">
                        Location</label>
                    <div class="col-sm-8">
                        <asp:TextBox ID="txtLocation" runat="server" ToolTip="Location" data-val-required=" Location is required."
                            Width="300px" data-val="true"> </asp:TextBox>
                        <span class="field-validation-valid text-warning red" data-valmsg-for="txtLocation"
                            data-valmsg-replace="true"></span>
                    </div>
                </div> 
</div>
</div>

 <div class="pull-right">
  <button id="btnSave" title="Save" class="btn btn-sm btn-primary"
                onclick="Save();" runat="server">
                Save
            </button>
  <button id="btnCancel" title="Save & Next" class="btn btn-sm btn-primary"
                onclick="Cancel();" runat="server">
                Cancel
            </button>
        </div>
</div>

 <asp:Button ID="btnCancelPage" runat="server" OnClick="btnCancelPage_Click"
        Style="display: none" />

 <script language="javascript" type="text/javascript">
function Cancel(){
$("#btnCancelPage").Click();
}
  $(document).ready(function () {
            $('#btnSave,#btnCancel').click(function (e) {
                e.preventDefault();
  });
        });
</script>

Default.aspx.cs

  protected void btnCancelPage_Click(object sender, EventArgs e)
    {
        Context.Items.Add("ID", "10");

        string targetPath ="~/SamplePage.aspx";

        Server.Transfer(targetPath);
    }

当我点击取消按钮时,页面验证正在发生。 我不想在单击取消按钮时验证页面。

请帮帮我。

【问题讨论】:

  • &lt;asp:Button CauseValidation="false" ID="btnCancel" /&gt;
  • 你在使用 ASP.Net 页面验证器吗?
  • 我正在使用这些 js 进行验证 -> jquery.validate.js & jquery.validate.unobtrusive.js

标签: c# javascript jquery asp.net twitter-bootstrap


【解决方案1】:

使用链接按钮忽略您的验证

<asp:LinkButton CssClass="btn btn-info" runat="server" ID="btnCancel" Text="Cancel" PostBackUrl="~/default.aspx"></asp:LinkButton>

您还可以在链接按钮中添加 OnClick() 事件。我只是使用 PostBackUrl 作为重定向到其他页面的示例。

希望对你有帮助

【讨论】:

  • 谢谢你。但我需要在导航到另一个页面时传递一个查询字符串值
  • 你可以删除 postbackUrl 并替换为 OnClick="" 就像你的例子一样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2017-03-09
  • 2016-11-05
  • 2014-07-12
相关资源
最近更新 更多