二级联动:

首先在数据处理层写对应语句,

   #region 分类
public List<GTYpe> GTYpe(int id)
{
return db.GTYpe.Where(p => p.GPId == id).ToList();
}
#endregion

对应的在控制器进行调用之后

在vue里写对应的参数和方法:

 data() {
return { brands: [], //品牌
classifys:[] //分类
}
}
methods: {
//加载分类
getBrand() {
axios.get('/Info/GTYpe?id=0').then(res => {
this.brands = res.data;
this.brands.unshift({ "GTId": "0", "GTName": "请选择" });
});
},
//加载品牌
getClassify() {
//this.proData.GTId>0 代表 点击的不是请选择
if (this.proData.GTId>0) {
axios.get('/Info/GTYpe?id=' + this.proData.GTId).then(res => {
this.classifys = res.data;
this.classifys.unshift({ "GTId": "0", "GTName": "请选择" });
this.proData.GPId = 0; //将品牌 变成 请选择状态
});
}
this.classifys = [];
},

在挂载函数中调用第一级下拉

 created: function () {
this.getBrand()
}

在表单里写对应的v_model  v-for  循环输出

 <tr>
<td>商品分类:</td>
<td>
分类:
<select v-model="proData.GTId" v-on:change="getClassify">
<option v-for="(item,index) in brands" :value="item.GTId">{{item.GTName}}</option>
</select>
品牌:
<select v-model="proData.GPId">
<option v-for="(item,index) in classifys" :value="item.GTId">{{item.GTName}}</option>
</select>
</td>
</tr>

vue的图片上传:

首先在控制器里写一个图片上传的方法:

  [HttpPost]
public ActionResult UpLoad()
{
var file = Request.Files[0];
var imgdir = Server.MapPath("/Images/");
//if (!Directory.Exists(imgdir))
//{
// Directory.CreateDirectory(imgdir);
//}
file.SaveAs(imgdir + file.FileName);
return Json(new { code=1,fileName=file.FileName}, JsonRequestBehavior.DenyGet); }

在添加页面里,写对应的vue的方法:

  //文件上传
[HttpPost]
public ActionResult UpLoad()
{
try
{
//一、获取前台传过来的文件
var file = Request.Files[0];
//将虚拟路径转成物理路径
var imgDir = Server.MapPath("/Images/"); //判断你要存储的文件夹是否存在,不存在创建
//需要引用System.IO
if (!Directory.Exists(imgDir))
{
//创建文件夹
Directory.CreateDirectory(imgDir);
}
//保存
file.SaveAs(imgDir + file.FileName);
return Json(new {code = 1,fileName = file.FileName,msg="" }, JsonRequestBehavior.DenyGet);
}
catch (Exception ex)
{
return Json(new { code = 0, fileName = "", msg =ex.Message },JsonRequestBehavior.DenyGet);
}
}

在vue里写对应的方法用来上传和接收

  //上传图片
upLoad(event) {
//获取图片
let file = event.target.files[0];
//配置头部类型
//let config = {
// headers: {
// 'Context-Type':"multipart/form-data"
// }
//} let fd = new FormData();
fd.append("file", file); axios.post('/Info/UpLoad', fd).then(res => {
if (res.data.code > 0) {
this.proData.ImgUrl = res.data.fileName;
alert('上传成功')
} else {
alert(res.data.msg)
}
}) },

在表单里修改对应的数据

<tr>
<td>商品图:</td>
<td><input type="file" value="" v-on:change="upLoad" /></td>
</tr>

最新文章

  1. RESTful API URI 设计的一些总结
  2. node 实现视频播放后端,前端使用video标签,视频文件视频mp4
  3. centos7 docker activemq
  4. TMS320DM642启动模式(Bootmode)(转)
  5. SQL-geography &amp;&amp; Spatial result
  6. eclipse安装插件的三种方式
  7. “VS2013无法连接远程数据库”解决方案
  8. C语言 Linux内核链表(企业级链表)
  9. logic标签用法
  10. 简单CMakeLists.txt文件
  11. Redis安装与调试
  12. 过长文字自动换行的技巧 Word-Break Word-Wrap
  13. Linux下通过ODBC连接sqlserver
  14. js实现页面图片加载进度条
  15. 在mysql数据库中关于日期时间字段的处理
  16. sizeof(void)有什么用
  17. Android BroadcastReceiver 接收收到短信的广播
  18. python 可视化界面
  19. 9. spring项目中web.xml详解解读
  20. [转载]Ubuntu安装配置 git 服务器和客户端

热门文章

  1. 【python/pyside2】向QVBoxLayout添加滚动条
  2. Nginx结合tomcat 负载均衡
  3. c语言container_of 编译报错
  4. pr 如何给视频进行加速,慢速处理
  5. 技术前沿:ISP芯片终极进化——VP芯片(AI视觉处理器)
  6. 2017GPLT
  7. docker中搭建Ubuntu:16.04+python3.6+django环境
  8. PyTables 教程(一)入门,浏览对象树,将数据提交到表和数组
  9. hyperledger explorer 环境搭建
  10. C++ primer笔记 -标准库类型