c# - 如果文本框没有值,则验证组或显示弹出窗口

标签 c# checkbox webforms buttonclick

所以我有一个网络表单,其中有一些按钮和文本框,它们使用 ajax 显示日历扩展程序。 我想设置它,以便如果选中一个按钮,则还需要选择带有日历日期的相应文本框。我考虑过使用验证组,但我不希望它在单击按钮时出现,而且并非所有文本框日期都需要与其对应的复选框一起选择。

他们是通过 button.check 还是使用 javascript 执行此操作的方法?

例如:

protect void main CheckBox1_Changed(object e event args)
     {
          if(CheckBox1.Changed)
             {
                 /*some kind of validation of date chosen*/
             }
    }

最佳答案

两个示例,一个在 C# 中,第二个在 Jquery 中。两者都使用回发并显示警报。

通过 C#: (HTML)

    <asp:CheckBox ID="chk" runat="server" AutoPostBack="true"
OnCheckedChanged="chk_Changed"/>
<asp:TextBox ID="date" runat="server"></asp:TextBox>

(C#)

    protected void chk_Changed(Object sender, EventArgs e)
    {
        if (chk.Checked && date.Text.Length == 0)   
            Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script language=JavaScript>alert('This is a test');</script>");
    }

其次,这是使用 Jquery: (使用上述控件的 Javascript)

<script type="text/javascript">
$(document).ready(function() {
if ($('#chk').attr('checked')) {
    if($('#date').val().length == 0)
        alert('This is the Javascript check');
    }
});

在每种情况下,您都需要将复选框控件的 AutoPostBack 属性设置为 True

要更改文本框中的文本,您可以使用:

<script type="text/javascript">
var data = "Please enter a value!";
$(document).ready(function() {
    if ($('#chk').attr('checked')) {
        if ($('#date').val().length == 0)
            ($('#date').val(data));
    }
});

关于c# - 如果文本框没有值,则验证组或显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12207074/

相关文章:

asp.net-mvc 和 webforms 共存

.net - 如何将我自己的 JavaScript 链接到客户端而不丢失回发功能

c# - 在 C# 中从视频 URL 创建缩略图

c# - Windows身份验证模式但不是必需的

c# - 带有 StartsWith 的 List<string> 的 E.F. lambda 表达式

c# - 将复选框绑定(bind)到数据库中的位字段 (AJAX)

android - TextView 中的 AlertDialog "pushed out"中的复选框

javascript - 如何从数据表中的多个页面传递选中复选框的值

c# - 对具有不同参数的相同方法调用的最小起订量期望

asp.net - app_offline 替代方案