mvc控制器
控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Net.Http;
using Newtonsoft.Json;
using WebApplication1.Models;
using Webdiyer.WebControls.Mvc;
namespace WebApplication1.Controllers
{
public class showController : Controller
{
// GET: show
/// <summary>
/// 查询 显示 分页
/// </summary>
/// <param name="name"></param>
/// <param name="type"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public ActionResult Index(string name, int type = 0, int pageIndex=1)
{
//获取全部数据
Uri uri = new Uri("http://localhost:1036/"); //api的地址
HttpClient client = new HttpClient();
client.BaseAddress = uri;//报头
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage message = client.GetAsync("actionApi/showApi/show?name=" + name + "&type=" + type).Result;
List<Allcs> tt = new List<Allcs>();//显示在集合里
if (message.IsSuccessStatusCode)
{
string pp = message.Content.ReadAsStringAsync().Result;
tt = JsonConvert.DeserializeObject<List<Allcs>>(pp);//反序列化
}
client.Dispose();//释放
//下拉
Uri uris = new Uri("http://localhost:1036/");
HttpClient clients = new HttpClient();
clients.BaseAddress = uris;
clients.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage mess = clients.GetAsync("actionApi/showApi/xia").Result;
List<stutype> tts = new List<stutype>();
if (mess.IsSuccessStatusCode)
{
string pp = mess.Content.ReadAsStringAsync().Result;
tts= JsonConvert.DeserializeObject<List<stutype>>(pp);
SelectList list = new SelectList(tts, "Sids", "Sname");
ViewBag.xia = list;
}
clients.Dispose();//释放
return View(tt.ToList().ToPagedList(pageIndex,2)); //显示 反页
}
/// <summary>
/// 添加
/// </summary>
/// <returns></returns>
public ActionResult add()
{
//下拉
Uri uris = new Uri("http://localhost:1036/");
HttpClient clients = new HttpClient();
clients.BaseAddress = uris;
clients.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage mess = clients.GetAsync("actionApi/showApi/xia").Result;
List<stutype> tts = new List<stutype>();
if (mess.IsSuccessStatusCode)
{
string pp = mess.Content.ReadAsStringAsync().Result;
tts = JsonConvert.DeserializeObject<List<stutype>>(pp);
SelectList list = new SelectList(tts, "Sids", "Sname");
ViewBag.xia = list;
}
clients.Dispose();//释放
return View();
}
/// <summary>
/// 添加
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public ActionResult add(stuM model)
{
//添加图片 img是一个新建的文件夹
var file = Request.Files["tu"];
var names = "/img/" + file.FileName;
file.SaveAs(Server.MapPath(names));
//添加mvc里的类
Allcs m = new Allcs();
m.men = model.men;
m.name = model.name;
m.number = model.number;
m.shijian = model.shijian;
m.Sids = model.Sids;
m.tu = names;
//传值
Uri uri = new Uri("http://localhost:1036/");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpContent cont = new StringContent(JsonConvert.SerializeObject(m));//把类序列化
cont.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
var pp = "";
HttpResponseMessage mesa = client.PostAsync("actionApi/showApi/add", cont).Result;//执行到api
if (mesa.IsSuccessStatusCode)//判断
{
pp = mesa.Content.ReadAsStringAsync().Result;
}
if (Convert.ToInt32(pp) > 0)
{
return Content("<script>alert('添加成功');location.href = '/show/Index';</script>");
}
else
{
return Content("<script>alert('添加失败')</script>");
}
}
/// <summary>
/// 登录
/// </summary>
/// <returns></returns>
public ActionResult login()
{
return View();
}
/// <summary>
/// 登录
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public ActionResult login(loginM model)
{
Login m = new Login();
m.name = model.name;
m.pwd = model.pwd;
Session["name"] = m.name;
Uri uri = new Uri("http://localhost:1036/");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpContent cont = new StringContent(JsonConvert.SerializeObject(m));
cont.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
var pp = "";
HttpResponseMessage mesa = client.PostAsync("actionApi/showApi/login", cont).Result;
if (mesa.IsSuccessStatusCode)
{
pp = mesa.Content.ReadAsStringAsync().Result;
}
if (Convert.ToInt32(pp) > 0)
{
return Content("<script>alert('登录成功');location.href = '/show/Index';</script>");
}
else
{
return Content("<script>alert('登录失败')</script>");
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult shan(int id)
{
Uri uri = new Uri("http://localhost:1036/");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var pp = "";
HttpResponseMessage mesa = client.DeleteAsync("actionApi/showApi/shan/" + id).Result;
if (mesa.IsSuccessStatusCode)
{
pp = mesa.Content.ReadAsStringAsync().Result;
}
if (Convert.ToInt32(pp) > 0)
{
return Content("<script>alert('删除成功');location.href = '/show/Index';</script>");
}
else
{
return Content("<script>alert('删除失败')</script>");
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult xiu(int id)
{
Uri uri = new Uri("http://localhost:1036/");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage message = client.GetAsync("actionApi/showApi/dan?id=" + id).Result;
List<Allcs> tt = new List<Allcs>();
if (message.IsSuccessStatusCode)
{
string pp = message.Content.ReadAsStringAsync().Result;
tt = JsonConvert.DeserializeObject<List<Allcs>>(pp);
}
client.Dispose();//释放
//下拉
Uri uris = new Uri("http://localhost:1036/");
HttpClient clients = new HttpClient();
clients.BaseAddress = uris;
clients.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage mess = clients.GetAsync("actionApi/showApi/xia").Result;
List<stutype> tts = new List<stutype>();
if (mess.IsSuccessStatusCode)
{
string pp = mess.Content.ReadAsStringAsync().Result;
tts = JsonConvert.DeserializeObject<List<stutype>>(pp);
SelectList list = new SelectList(tts, "Sids", "Sname");
ViewBag.xia = list;
}
clients.Dispose();//释放
return View(tt[0]);//
}
/// <summary>
/// 修改
/// </summary>
/// <param name="mdoel"></param>
/// <returns></returns>
[HttpPost]
public ActionResult xiu(stuM mdoel)
{
//修改图片 img是一个新建的文件夹
var file = Request.Files["tu"];
var names = "/img/" + file.FileName;
file.SaveAs(Server.MapPath(names));
//修改传值
Allcs m = new Allcs();
m.men = mdoel.men;
m.name = mdoel.name;
m.number = mdoel.number;
m.shijian =mdoel.shijian;
m.Sids = mdoel.Sids;
m.id = mdoel.id;
//地址
Uri uri = new Uri("http://localhost:1036/");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpContent cont = new StringContent(JsonConvert.SerializeObject(m));
cont.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
var pp = "";
HttpResponseMessage mesa = client.PutAsync("actionApi/showApi/xiu", cont).Result;
if (mesa.IsSuccessStatusCode)
{
pp = mesa.Content.ReadAsStringAsync().Result;
}
if (Convert.ToInt32(pp) > 0)
{
return Content("<script>alert('修改成功');location.href = '/show/Index';</script>");
}
else
{
return Content("<script>alert('修改失败')</script>");
}
}
}
}
显示页面的方法
@using Webdiyer.WebControls.Mvc; //分页
@model PagedList<WebApplication1.Allcs>
类型:
@Html.DropDownList("typeid",ViewBag.xia as SelectList,"选择")
收费人:<input id="Text1" type="text" />
<input id="Button1" type="button" value="查询" onclick="cha()" />
<input id="Button1" type="button" value="添加" onclick="yang()" />
<table>
<tr>
<td>编号</td>
<td>门牌号</td>
<td>类型</td>
<td>费用</td>
<td>收费人</td>
<td>时间</td>
<td>操作</td>
</tr>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.id</td>
<td>@item.men</td>
<td>@item.Sname</td>
<td>@item.number</td>
<td>@item.name</td>
<td>@item.shijian</td>
<td><a href="#" onclick="shan(@item.id)">删除</a>
<a href="/show/xiu/@item.id" >修改</a></td>
</tr>
}
</tbody>
</table>
@*分页*@
@Html.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex" }) //分页
</div>
<script>
//添加
function yang()
{
location.href = '/show/add';
}
//查询
function cha() {
var name = $("#Text1").val();
var type = $("#typeid").val();
location.href = '/show/Index?name=' + name + "&type=" + type;
}
//删除
function shan(id)
{
location.href = '/show/shan?id='+id;
}
</script>
添加页面的方法
@model WebApplication1.Allcs
//"add", "show", FormMethod.Post, new { @enctype = "multipart/form-data" } 做添加图片时用
@using (Html.BeginForm("add", "show", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>门牌号</td>
<td>@Html.TextBoxFor(s=>s.men)</td>
</tr>
<tr>
<td>类别</td>
<td>@Html.DropDownListFor(s=>s.Sids,ViewBag.xia as SelectList)</td>
</tr>
<tr>
<td>费用</td>
<td>@Html.TextBoxFor(s => s.number)</td>
</tr>
<tr>
<td>收费人</td>
<td>@Html.TextBoxFor(s => s.name)</td>
</tr>
<tr>
<td>时间</td>
<td>@Html.TextBoxFor(s => s.shijian)</td>
</tr>
<tr>
<td>图片</td>
<td><input type="file" name="tu" /> </td>
</tr>
<tr>
<td></td>
<td><input id="Submit1" type="submit" value="添加" /></td>
</tr>
</table>
}
修改的方法
@model WebApplication1.Allcs
//"add", "show", FormMethod.Post, new { @enctype = "multipart/form-data" } 做修改图片时用
@using (Html.BeginForm())
{
<table>
<tr>
<td>门牌号</td>
<td>@Html.TextBoxFor(s => s.men)</td>
</tr>
<tr>
<td>类别</td>
<td>@Html.DropDownListFor(s => s.Sids, ViewBag.xia as SelectList)</td>
</tr>
<tr>
<td>费用</td>
<td>@Html.TextBoxFor(s => s.number)</td>
</tr>
<tr>
<td>收费人</td>
<td>@Html.TextBoxFor(s => s.name)</td>
</tr>
<tr>
<td>时间</td>
<td>@Html.TextBoxFor(s => s.shijian)</td>
</tr>
<tr>
<td>图片</td>
<td><img src="@Model.tu" alt="" style="width:50px;height:50px" /></td>
<td><input type="file" name="tu" /> </td>
</tr>
<tr>
<td><input id="Text1" type="hidden" value="@Model.id" /></td>
<td><input id="Submit1" type="submit" value="添加" /></td>
</tr>
</table>
}
配置
config.Routes.MapHttpRoute(
name: "actionApi",
routeTemplate: "actionApi/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
mvc控制器的更多相关文章
- ABP文档 - Mvc 控制器
文档目录 本节内容: 简介 AbpController基类 本地化 其它 过滤 异常处理和结果包装 审计日志 验证 授权 工作单元 反伪造 模型绑定器 简介 ABP通过nuget包Abp.Web.Mv ...
- ABP理论学习之MVC控制器(新增)
返回总目录 本篇目录 介绍 AbpController基类 本地化 异常处理 响应结果的包装 审计日志 授权 工作单元 其他 介绍 ABP通过Abp.Web.Mvc nuget包集成了ASP.NET ...
- ASP.NET MVC 控制器激活(一)
ASP.NET MVC 控制器激活(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅 ...
- ASP.NET MVC 控制器激活(二)
ASP.NET MVC 控制器激活(二) 前言 在之前的篇幅中,用文字和图像来表示了控制器的激活过程,描述的角度都是从框架默认实现的角度去进行描述的,这样也使得大家都可以清楚的知道激活的过程以及其中涉 ...
- ASP.NET MVC 控制器激活(三)
ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControllerInstanc ...
- 在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义的输出
在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计的时候考虑周到外,还需要考虑数据展现的处理.如果是常规的处理,那 ...
- 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器
MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...
- MVC控制器获取@Html.DropDownList值
MVC控制器获取@Html.DropDownList值 发表于 2014 年 4 月 1 日 作者 efour — 暂无评论 先贴一段代码,演示@Html.DropDownList的使用. 前台 前台 ...
- .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)
.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构) public cl ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计
自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的 ...
随机推荐
- Django多表查询
一.前言 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候, ...
- 20175307《Java程序设计》第5周学习总结
教材内容总结 6.1 接口 1接口声明 接口使用关键字interface来进行声明 eg:interface 接口的名字 2接口体 接口体中包含常量的声明和抽象方法两部分(没有变量) 注意一定的要 ...
- String.StartsWith 方法
startsWith() 方法用于检测字符串是否以指定的前缀开始. 语法 public boolean startsWith(String prefix, int toffset) 或 public ...
- centos卸载mysql
1.查看系统安装mysql rpm -qa|grep -i mysql 2.卸载 rpm -ev --nodeps mysql-community-release-el7-5.noarch 3.查询剩 ...
- FJNU Fang G and his Friends(状压DP)题解
Description 众所周知,fang G 有很多小伙伴,有一天,Fang G 打算带他们去玩有趣的游戏OOXX,这个游戏需要分成两组,有趣的是,每个人互相之间都有一个满意度,大家都想和自 ...
- 20165306 Exp0 Kali安装 Week1
20165306 Exp0 Kali安装 Week1 实验要求 Kali 下载 安装 网络 共享 软件源 步骤一.下载Kali 根据网址https://www.kali.org/ 下载kali 点击 ...
- yii DbCriteria相关属性常用方法
$criteria = new CDbCriteria; //函数方式 $criteria->addCondition("id=1"); //查询条件,即where id = ...
- Cocos Creator学习三:生命周期回调函数
1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...
- PHP随机生成要求位数个字符(大小写字母+数字)
php随机生成要求位数个字符 /** * 随机生成要求位数个字符 * @param length 规定几位字符 */ function getRandChar($length){ $str = nul ...
- shift and算法
1. CF 914F Substrings in a String 大意: 给定一个串s, q个询问, (1)单点修改, (2)询问[l,r]范围内串y的出现次数. shift and算法板子题 #p ...