控制器

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控制器的更多相关文章

  1. ABP文档 - Mvc 控制器

    文档目录 本节内容: 简介 AbpController基类 本地化 其它 过滤 异常处理和结果包装 审计日志 验证 授权 工作单元 反伪造 模型绑定器 简介 ABP通过nuget包Abp.Web.Mv ...

  2. ABP理论学习之MVC控制器(新增)

    返回总目录 本篇目录 介绍 AbpController基类 本地化 异常处理 响应结果的包装 审计日志 授权 工作单元 其他 介绍 ABP通过Abp.Web.Mvc nuget包集成了ASP.NET ...

  3. ASP.NET MVC 控制器激活(一)

    ASP.NET MVC 控制器激活(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅 ...

  4. ASP.NET MVC 控制器激活(二)

    ASP.NET MVC 控制器激活(二) 前言 在之前的篇幅中,用文字和图像来表示了控制器的激活过程,描述的角度都是从框架默认实现的角度去进行描述的,这样也使得大家都可以清楚的知道激活的过程以及其中涉 ...

  5. ASP.NET MVC 控制器激活(三)

    ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControllerInstanc ...

  6. 在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义的输出

    在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计的时候考虑周到外,还需要考虑数据展现的处理.如果是常规的处理,那 ...

  7. 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器

    MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...

  8. MVC控制器获取@Html.DropDownList值

    MVC控制器获取@Html.DropDownList值 发表于 2014 年 4 月 1 日 作者 efour — 暂无评论 先贴一段代码,演示@Html.DropDownList的使用. 前台 前台 ...

  9. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  10. 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

    自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的 ...

随机推荐

  1. 小米5查看设备号信息及验证type-c数据线

    首先,下载adb软件. 接着打开系统的开发者模式和调试模式. 打开cmd软件,切换到adb软件文件夹所在路径,输入命令:adb devices,则能看到设备的设备号信息. 如果设备号是00000001 ...

  2. ps top 命令

    pstree :显示进程树 ps: a:查看和终端有关的进程 u:显示进程是哪个用户启动的 x:和终端无关 ps aux |head 进程的分类: 和终端有关 和终端无关 进程状态: D:不可中断睡眠 ...

  3. C#线程同步(3)- 互斥量 Mutex

    文章原始出处 http://xxinside.blogbus.com/logs/47162540.html 预备知识:C#线程同步(1)- 临界区&Lock,C#线程同步(2)- 临界区&am ...

  4. python 环境安装和卸载1

    同事换了新机器,系统从win7变为了win10,因此需要重新安装python环境啦!不废话,直奔主题. A 安装 一.进入python官网  www.python.org 进入downloads-&g ...

  5. P4389 付公主的背包

    注意 初始化的时候要这样写 for(int i=1,x;i<=n;i++){ scanf("%d",&x); v[x]++; } for(int i=1;i<= ...

  6. Deep Learning--week1~week3

    week1 一张图片,设像素为64*64, 颜色通道为红蓝绿三通道,则对应3个64*64实数矩阵 为了用向量表示这些矩阵,将这些矩阵的像素值展开为一个向量x作为算法的输入 从红色到绿色再到蓝色,依次按 ...

  7. 《内蒙古自治区第十三届大学生程序设计竞赛试题_H 公孙玉龙》

    这个题有点小坑,最坑的地方就是  输入的b 变量  有可能 是  负数  !   负数 !  负数!    对 ,你没有看错,就是负数,坑死我了, 一直都是  content.charAt(0) 判断 ...

  8. 启动一个SpringBoot的maven项目

    ​ 最近拿到了一个maven项目,原先是使用.net开发的,虽然Java和C#的语法相近,但是难免还有一些差别,包括语言特性,IDE的使用方面,都需要一段时间的习惯和适应. ​ 该项目总体上是前后端分 ...

  9. 小程序之 fixed定位下scroll-view左右滚动失效

    红框为悬浮 左右可以滑动 效果如下⬇️ 悬浮把最外层position:fixed;top:0;这个时候上面的导航就可以悬浮 但是会出现左右滑动不了的情况 这是因为我没给设置宽度 这个时候我们把包着sc ...

  10. react-native webView android使用本地html问题

    react-native WebView组件使用本地html时候,一般都是这样使用 var source = require('../html/my.html') : <WebView sour ...