使用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嘛。。。)

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

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

原文地址:https://www.cnblogs.com/zhuiyi/p/2099574.html