当我在文本框中键入6Th数字时,如何从代码后面触发事件/函数?

时间:2014-07-07 05:45:05

标签: c# asp.net

当我在文本框中键入6Th数字时,如何从代码中触发事件/函数?

我的用法非常简单 我是C#的程序员 当我在文本框中键入第6个数字时,如何从后面的代码中触发事件/函数?

3 个答案:

答案 0 :(得分:1)

根据问题中的评论阅读您的要求后,我建议您使用Web Service或Page方法解决当前问题。

您的问题可以通过以下方式解决:

  1. 在项目中使用jQuery。
  2. 写一个javascript" onchange"功能为您的文本框。
  3. 计算此javascript函数中文本框中文本的长度。
  4. 当长度等于" 6"然后通过jQuery发出一个Web服务请求。
  5. 网络服务应返回您需要在javascript中捕获的数据。
  6. 显示数据。
  7. 示例代码如下:

    用于计算长度的Javascript函数:

          function caculateTextboxLenth() {
                if (document.getElementById("<Textbox Id>").length == 6) {
                    var text = document.getElementById("<Textbox Id>").text;
                    CallWebService("/getDistrictData",text);
                }
                return false;
            }
    

    用于调用网页方法的Javascript函数:

    function CallWebService(WebServiceURL,text) {
        $.ajax({
            type: "POST",
            cache: false,
            url: WebServiceURL + "&pincode=" text + "&dt=" + new Date().getTime(), //This will append ?dt={timestamp} to the URL to prevent caching,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: ShowData,
            error: error
        });
    }
    

    您的C#页面方法应与您的代码隐藏文件中的内容类似。

    [System.Web.Services.WebMethod]
        public static string getDistrict()
        {
            int pincode = Convert.ToInt32(HttpContext.Current.Request.QueryString["pincode"].ToString().Trim());
            string district = "";
            //code to fetch district
            return district;
        }
    

    P.S:检查SQL注入。

答案 1 :(得分:0)

将两个事件附加到文本框 1)Javascript onchange 2)c#OnTextChanged

检查onchange中字符的验证,如果为true,则返回“true true;” 这将在服务器端触发OnTextChanged事件。

另外不要忘记将textbox的“AutoPostBack”属性设置为true。

答案 2 :(得分:0)

我的解决方案可能不完美,但是将texbox放入UpdatePanel双击它以创建一个事件,现在使用int.Parse查看输入的输入是否为整数并使用txtbx.Text.Length看看你是否得到了第六位数字。

它应该是这样的

if(txtbx.Text.Trim().Length > 0 && int.Parse(txtbx.Text.Trim(), out intoutput))
{
    if(txtbx.Text.Trim().Length = 6 )
    {
    // your code here
    }
}