• 使用Input控件完成站内搜索功能


    不知道是我傻还是脑子不转个,当别人问我页面传值的方式的时候我能说出来一大堆,也知道怎么使用(用服务端控件的时候)

    但一直以来我都不知道怎么使用input传值,今天晚上没啥事,试了一交,突然想起来一个很重要的东西,那就是input的name属性,我咋就把你忘了呀!

    例如:

    <input type="text" name="txtWords"/>

    <input type="submit" value="搜索"/>

    哎杯具啊~~  我不知道有多少人和我一样,把这些东西忘掉了,一直都不知道怎么用客户端控件开发asp.net   因为已经习惯了服务端控件给我们带来的方便。 

    然后通过form表单提交:Method="post" 提交方式.   action="Default.aspx" 提交到哪里.

    然后在Default.aspx的页面中使用 Request.Form["txtWords"]; 来获取。

    别问为什么是txtWords,如果是这样,那我上面就白废话了。。

    来个完整的点的代码吧:

    <body>
         
    <form id="form1" method="post" action="ShowList.aspx">

        
    <div class="column">
            请输入搜索内容:
            
    <input id="txtWords" name="txtWords" type="text" /><input id="btnSearch" type="submit"
                value
    ="搜索" /></div>
        
    <div class="column">
            
    <ul>
                
    <asp:ListView ID="objListView" runat="server">
                    
    <ItemTemplate>
                        
    <li><span><%#Eval("id"%></span> 
                            
    <span><%#Eval("saleName"%></span>

                            <span><%#Eval("price"%></span>

                            <span><%#Eval("count"%></span>

                            <span><%#Eval("amount"%></span>

                            <span><%#Eval("InDate"%></span></li>

                     </ItemTemplate>

                 </asp:ListView>

              </ul>

         </div>

    </form>

    </body> 


    在这个过程中我发现一个挺有意思的东西,以前一直都没发现,就是ListView在没有runat="server"的时候还可以使用,编译不会报错。GridView就不行,像TextBox ,Button等控件都不行。

    也许你可能会说我吃饱了没事干,撑着了写这个东西,因为我"讨厌"ViewState,它生成的字符串太让人纠结了.  没有还不习惯,有吧看着还闹心,只好用传统的Html来写了,哈哈。

    接收表单数据的页面后台代码:

     public partial class ShowList : System.Web.UI.Page
        {
            
    protected void Page_Load(object sender, EventArgs e)
            {
                
    if (!IsPostBack)
                {
                   
    string Words = Request.Form["txtWords"];
                   objListView.DataSource 
    = DAL.GetSearch(Words);
                   objListView.DataBind();
                }
            }

         } 

    这样就OK了,其实只要我们拿到表提交过来的值,后面该怎么开发就怎么开发,和开发WebForm一样(本来就是WebForm嘛。。。)

     可偏偏一直以来都转不过来这个弯…… 

    希望看过这篇文章的同学能够和我一样恍然大悟。 

  • 相关阅读:
    软件工程实验三 面向对象分析与设计
    软件工程实验二 结构化分析与设计
    软件工程实验一 软件开发文档与工具安装与使用
    ATM管理系统
    举例分析流程图与活动图的区别与联系
    自动生成四则运算
    Java入门基础知识点总结(详细篇)
    数据库树状结构数据查询
    java中Date日期类型的大小比较
    文件转byte[ ]
  • 原文地址:https://www.cnblogs.com/zhuiyi/p/2099574.html
Copyright © 2020-2023  润新知