asp.ner mvc3表单和HTML辅助方法(一)

我们知道在普通的表单元素默认情况下如不设置method 默认情况下是发送 HTTP GET请求

下面是一个普通的表单 可以用来提交input 内的数据到 action 地址mvc中是控制器访问方式(mvc3也可以通过重写Global文件中的路由机制来改变) asp.net 为访问地址

<form action="control/action" method="get">

  <input name="q" type="text">

  <input type="submit" value="Search">

</form>

   该选择GET方法还是POST方法

  如果不想让浏览器把输入值放入查询字符串中,而是想放入HTTP请求的主体中可以给method特性赋值post.

  比如: GET 结果页面链接需要建立书签 可以在电子邮件或者网页中的URL作为超链接来使用

      POST 请求可以用来提交信用卡信息和交易信息,重要的信息都可以用POST 

      通常情况下GET 请求用于读操作,POST请求用于写操作.

实际例子(asp.net mvc3) 首先创建一个asp.net mvc3 项目然后

用表单实现搜索

View 页面 把下面代码放进HomeController控制器的Index中

<form action="/Home/Search" method="get">

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

  <input type="submit" value="Search" />

</form>

Controller 控制器 在HomeController控制器中实现Search方法

public ActionResult Search(string q)

{

  var albums = storeDB.Albums

              .Whrer(a => a.CommunityName.Contais(q)  && q == null)

               .Take(10);

   return View(albums);

}

 注意,这里Search操作接收名为q的字符串参数.当q有值时,asp.net mvc框架会自动在查询字符串中找到这个值;

 由控制器告知 asp.net mvc 框架渲染视图,现在可以再 Home 视图目录下创建Search.cshtml视图来显示搜索结果:

@model IEnumerable<Models.Bus_Community>

<table>
  <tr>
  <th>CommunityName</th>
  <th>AreaName</th>
  <th>BlockName</th>
</tr>
@foreach (var item in Model)
{
  <tr>
  <td>@item.CommunityName</td>
  <td>@item.AreaName</td>
  <td>@item.BlockName</td>
  </tr>
}
</table>

今天就介绍到这儿,谢谢大家

  

原文地址:https://www.cnblogs.com/haidao/p/3215494.html