asp编程中如何设定文本框为数字型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp编程中如何设定文本框为数字型相关的知识,希望对你有一定的参考价值。

asp编程中如何设定文本框为数字型、日期型等,防止在规定的文本框内输入其他字符,如在代表年龄的文本框中只能输入数字...

你要的函数都在这里,具体语法我就不详列了,你可以到网上查询相关用法。
多看看别人的程序,然后在自己动手实现,其实很简单的。
判断是否为数字的函数:IsNumeric
asp判断日期格式的函数:Date
DateAdd 函数
描述:返回已添加指定时间间隔的日期。
DateDiff 函数
描述:返回两个日期之间的时间间隔。
DatePart 函数
描述:返回给定日期的指定部分。
DateSerial 函数
描述:对于指定的年、月、日,返回 Date 子类型的 Variant。
DateValue 函数
描述:返回 Date 子类型的 Variant。
FormatDateTime 函数
描述:返回表达式,此表达式已被格式化为日期或时间。
Hour 函数
描述:返回 0 到 23 之间的一个整数(包括 0 和 23),代表一天中的某一小时。
Minute 函数
描述:返回 0 到 59 之间的一个整数(包括 0 和59),代表一小时内的某一分钟。
Month 函数
描述:返回 1 到 12 之间的一个整数(包括 1 和 12),代表一年中的某月。
MonthName 函数
描述:返回表明指定月份的字符串。
Now 函数
描述:根据计算机系统设定的日期和时间返回当前的日期和时间值。
Second 函数
描述:返回 0 到 59 之间的一个整数(包括 1 和 59),代表一分钟内的某一秒。
Time 函数
描述:返回 Date 子类型 Variant,指示当前系统时间。
TimeSerial 函数
描述:返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间。
TimeValue 函数
描述:返回包含时间的 Date 子类型的 Variant。
Weekday 函数
描述:返回代表一星期中某天的整数。
Year 函数
描述:返回一个代表某年的整数。
参考技术A <input onkeypress="return event.keyCode>=48&&event.keyCode<=57" type=text>

如何在 ASP.NET 中制作自动完成文本框?

【中文标题】如何在 ASP.NET 中制作自动完成文本框?【英文标题】:How to make an autocomplete TextBox in ASP.NET? 【发布时间】:2011-04-20 17:47:14 【问题描述】:

如何在 C# 中创建一个绑定到数据源的autocomplete TextBox?

【问题讨论】:

【参考方案1】:

aspx 页面编码

<form id="form1" runat="server">
       <input type="search" name="Search" placeholder="Search for a Product..." list="datalist1"
                    required="">
       <datalist id="datalist1" runat="server">

       </datalist>
 </form>

.cs 页面编码

protected void Page_Load(object sender, EventArgs e)

     autocomplete();

protected void autocomplete()

    Database p = new Database();
    DataSet ds = new DataSet();
    ds = p.sqlcall("select [name] from [stu_reg]");
    int row = ds.Tables[0].Rows.Count;
    string abc="";
    for (int i = 0; i < row;i++ )
        abc = abc + "<option>"+ds.Tables[0].Rows[i][0].ToString()+"</option>";
    datalist1.InnerHtml = abc;

这里的数据库是一个文件 (Database.cs),我在其中创建了一个名为 sqlcall 的方法,用于从数据库中检索数据。

【讨论】:

【参考方案2】:

您可以使用jQuery Autocomplete 或ASP.NET AJAX Toolkit Autocomplete

【讨论】:

我会在这里插话,我对 jQuery Autocomlete 有很好的经验。可以在docs.jquery.com/Plugins/autocomplete 找到文档。【参考方案3】:

试试这个: .aspx 页面

<td>  
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"OnTextChanged="TextBox1_TextChanged"></asp:TextBox>  
<asp:AutoCompleteExtender ServiceMethod="GetCompletionList" MinimumPrefixLength="1"  
   CompletionInterval="10" EnableCaching="false" CompletionSetCount="1" TargetControlID="TextBox1"  
   ID="AutoCompleteExtender1" runat="server" FirstRowSelected="false">  
      </asp:AutoCompleteExtender>  

现在从数据库自动填充:

public static List<string> GetCompletionList(string prefixText, int count)  
      
        return AutoFillProducts(prefixText);  

      

    private static List<string> AutoFillProducts(string prefixText)  
      
        using (SqlConnection con = new SqlConnection())  
          
            con.ConnectionString = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;  
            using (SqlCommand com = new SqlCommand())  
              
                com.CommandText = "select ProductName from ProdcutMaster where " + "ProductName like @Search + '%'";  
                com.Parameters.AddWithValue("@Search", prefixText);  
                com.Connection = con;  
                con.Open();  
                List<string> countryNames = new List<string>();  
                using (SqlDataReader sdr = com.ExecuteReader())  
                  
                    while (sdr.Read())  
                      
                        countryNames.Add(sdr["ProductName"].ToString());  
                      
                  
                con.Close();  
                return countryNames;  
              
          
      

现在:创建一个存储过程,根据从自动完成文本框中选择的产品获取产品详细信息。

Create Procedure GetProductDet  
(  
@ProductName varchar(50)    
)  
as  
begin  
Select BrandName,warranty,Price from ProdcutMaster where ProductName=@ProductName  
End   

创建函数名以获取产品详细信息::

private void GetProductMasterDet(string ProductName)  
      
        connection();  
        com = new SqlCommand("GetProductDet", con);  
        com.CommandType = CommandType.StoredProcedure;  
        com.Parameters.AddWithValue("@ProductName", ProductName);  
        SqlDataAdapter da = new SqlDataAdapter(com);  
        DataSet ds=new DataSet();  
        da.Fill(ds);  
        DataTable dt = ds.Tables[0];  
        con.Close();  
        //Binding TextBox From dataTable  
        txtbrandName.Text =dt.Rows[0]["BrandName"].ToString();  
        txtwarranty.Text = dt.Rows[0]["warranty"].ToString();  
        txtPrice.Text = dt.Rows[0]["Price"].ToString();   
    

自动回发应该是真的

<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>

现在,调用这个函数

protected void TextBox1_TextChanged(object sender, EventArgs e)  
    
      //calling method and Passing Values  
      GetProductMasterDet(TextBox1.Text);  
   

【讨论】:

如果我得到“AutoCompleteExtender 不是已知元素”怎么办? 是否在每个文本输入时调用 TextChanged 函数?【参考方案4】:

1-通过Nugget轻松安装AjaxControl Toolkit

PM> Install-Package AjaxControlToolkit

2-然后在标记中

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">  
</asp:ToolkitScriptManager>  

<asp:TextBox ID="txtMovie" runat="server"></asp:TextBox>  

<asp:AutoCompleteExtender  ID="AutoCompleteExtender1"  TargetControlID="txtMovie"   
    runat="server" />  

3- 在代码隐藏中:获取建议

[System.Web.Services.WebMethodAttribute(),System.Web.Script.Services.ScriptMethodAttribute()]  
    public static string[] GetCompletionList(string prefixText, int count, string contextKey)   
        // Create array of movies  
        string[] movies = "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II";  

        // Return matching movies  
        return (from m in movies where m.StartsWith(prefixText,StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray();  
    

来源:http://www.asp.net/ajaxlibrary/act_autocomplete_simple.ashx

【讨论】:

【参考方案5】:

我使用ajaxcontrol工具包的AutoComplete

【讨论】:

我不会(个人)推荐这个解决方案。在 2010 年,这个问题也许得到了回答。现在,不要使用这个。使用 JavaScript、jquery 等有更好的方法来做到这一点。

以上是关于asp编程中如何设定文本框为数字型的主要内容,如果未能解决你的问题,请参考以下文章

如何把asp.net 中文本框控件的text属性设置为int型?

如何将文本设置为 AjaxControlToolkit 组合框

如何清除文本框的缓存?? asp.net

asp.net如何给密码文本框加上小眼睛

如何通过 C# ASP.net 从 SQL Server 中的文本框中存储日期

如何使用 ASP 文本框的 Textchange 属性