文本框内容检查

时间:2018-06-01 15:22:30

标签: c#

我正在写一个C#项目, 我的一个需求是当TextBox(非动态)有超过1个字母时显示按钮,只要我知道更改(包括函数激活)将仅在postacks之间发生。 是否有可能在不使用回发的情况下检查Texbox字母内容(包括跳过页面加载功能)。

谢谢你。

1 个答案:

答案 0 :(得分:0)

  

是否有可能在没有的情况下检查文本框中的字母内容   使用回发(包括跳过页面加载功能)。

假设您使用的是ASP.NET Web Form,可以通过 Ajax 调用 WebMethod

enter image description here

通过Ajax回发到服务器后,

enter image description here

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
      Inherits="WebApplication1.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox runat="server" ID="TextBox1" />
        <button type="button" onclick="postData();">Post Data</button>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
        </script>
        <script type="text/javascript">
            function postData() {
                var data = { text: $('#<%= TextBox1.ClientID %>').val() };
                $.ajax({
                    type: "POST",
                    url: '<%= ResolveUrl("~/default.aspx/postdata") %>',
                    data: JSON.stringify(data),
                    contentType: 'application/json',
                    success: function (msg) {
                        $('#<%= TextBox1.ClientID %>').val(msg.d);
                    }
                });
            }
        </script>
    </form>
</body>
</html>

代码背后

using System;

namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        [System.Web.Services.WebMethod]
        public static string PostData(string text)
        {
            return text + DateTime.Now;
        }
    }
}