.NET积累
2016-10-27
给视图中的select赋值:
控制器:
public ActionResult Add()
{
List<SelectListItem> ClassName = new List<SelectListItem>()
{
new SelectListItem(){Text="广告拍摄", Value="广告拍摄"},
new SelectListItem(){Text="影视拍摄", Value="影视拍摄"},
new SelectListItem(){Text="平面拍摄", Value="平面拍摄"},
new SelectListItem(){Text="综艺节目", Value="综艺节目"},
};
ViewData["ClassName"] = new SelectList(ClassName, "Value", "Text");
return View();
}
视图:
<div class="col-sm-10">
@Html.DropDownListFor(m => model.ClassName, ViewData["ClassName"] as SelectList, new { @class = "form-control", placeholder = "请输入分类名称" })
</div>
2016-11-23
用mvcpager过程中的一个错误,相信也是很多初用mvcpager开发者会掉下去的坑:
错误提示:
The model item passed into the dictionary is of type 'NetCms.Model.CollectModel', but this dictionary requires a model item of type 'Webdiyer.WebControls.Mvc.PagedList`1[NetCms.Model.CollectModel]'.

直白点的说就是控制器传递给视图的实体类的数据类型不是视图中所规定的类型。
详细解释:
我的model层的代码:

我的controller中的代码:

我的view中的代码:

乍一看似乎没有问题,和普通的mvcpager唯一不同的就是PagedList的数据类型是将多个实体类作为了一个大实体类的属性。但是真正调试一下你就会发现在控制器中return view(model)中的model 的数据类型是CollectModel,而视图中所规定的数据类型是pagedlist<CollectModel>,相信这个问题有点经验的老开发人员不用调试就可以看出来。
这个地方改正的做法是将视图中的@model PagedList<NetCms.Model.CollectModel> 改为@model NetCms.Model.CollectModel
一般mvcpager在做单表的分页的时候,控制器中是这样的:

视图中是这样的:

在这里,仔细想一下,其实在控制器中return(list_model)中的list_model的数据类型是pagedlist<WebFocus>,和在视图中@model PagedList<NetCms.Model.WebFocus>引用的数据类型是一样的!!!
感觉C#中的面向对象的思想还没有深入骨髓中。
2017-01-18
ASP.Net中的ajax.beginform:
Html:
<section class="content">
@using (Ajax.BeginForm("insertstore", "StoreMS", new AjaxOptions { HttpMethod = "Post", OnBegin = "FormBeginAddstore", OnSuccess = "FormSuccessAddstore" }))
{
<p>
BranchID:<input type="text" id="branchid" name="branchid" />
</p>
<p>
仓库名称:<input type="text" id="name" name="name" />
</p>
<p>
仓库地址:<input type="text" id="address" name="address" />
</p>
<p>
省:<input type="text" id="province" name="province" />
</p>
<p>
市:<input type="text" id="city" name="city" />
</p>
<p>
镇(区):<input type="text" id="town" name="town" />
</p>
<p>
村:<input type="text" id="vilige" name="vilige" />
</p>
<p>
<input type="submit" value="保 存" />
</p>
}
</section>
JS:
function FormBeginAddstore() {
}
function FormSuccessAddstore() {
}
所需脚本:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
2017-01-19
Linq多表查询的结果转换成List泛型,在视图中遍历。
/// <summary>
/// 库存列表信息
/// </summary>
/// <returns></returns>
public ActionResult GetStockListData()
{
var data = (from gitem in lde.Goods
join bitem in lde.Brand on gitem.BrandId equals bitem.Id
join titem in lde.GoodsType on gitem.TypeId equals titem.ID
join gsitem in lde.GoodsStore on gitem.ID equals gsitem.GoodsId
join sitem in lde.Store on gsitem.StoreId equals sitem.ID
select new
{
goodsid = gitem.ID,
goodsbrand = bitem.Name,
goodstype = titem.TypeName,
goodsname = gitem.DisplayName,
goodsunit = gitem.Unit,
goodspackage = gitem.Package,
goodsprice = gitem.Price,
goodsimg = gitem.HomeImage,
goodsstore = sitem.Name,
storebranchid = sitem.BranchId,
goodsstock = gsitem.Num
}
).Take(100).ToList();
List<dynamic> oneList = new List<dynamic>();
foreach (var item in data)
{
dynamic dyObject = new ExpandoObject();
dyObject.goodsid = item.goodsid;
dyObject.goodsbrand = item.goodsbrand;
dyObject.goodstype = item.goodstype;
dyObject.goodsname = item.goodsname;
dyObject.goodsunit = item.goodsunit;
dyObject.goodspackage = item.goodspackage;
dyObject.goodsprice = item.goodsprice;
dyObject.goodsimg = item.goodsimg;
dyObject.goodsstore = item.goodsstore;
dyObject.storebranchid = item.storebranchid;
dyObject.goodsstock = item.goodsstock;
oneList.Add(dyObject);
}
ViewBag.data = oneList;
return View();
}
视图部分的代码:
<!-- 主要内容 -->
html <section class="content">
@foreach (var item in ViewBag.data)
{
<p>
@item.goodsid
</p>
<br />
<p>
@item.goodsbrand
</p>
<br />
<p>
@item.goodsname
</p>
<br />
}
</section>
上面的那个方式虽然可以解决问题,但是“数据类型”一直是匿名类型或者虚类型的。下面这个提供了将linq查询的结果在控制器中转换为list<model>的方式:
/// <summary>
/// 将linq查询到的结果转化为强类型的List泛型集合
/// </summary>
/// <returns></returns>
public ActionResult GetStrongTypingFromLinq()
{
List<StockListModel> data = (List<StockListModel>)(from gitem in lde.Goods
join bitem in lde.Brand on gitem.BrandId equals bitem.Id
join titem in lde.GoodsType on gitem.TypeId equals titem.ID
join gsitem in lde.GoodsStore on gitem.ID equals gsitem.GoodsId
join sitem in lde.Store on gsitem.StoreId equals sitem.ID
select new StockListModel()
{
GoodsId = gitem.ID,
GoodsBrand = bitem.Name,
GoodsType = titem.TypeName,
GoodsName = gitem.DisplayName,
GoodsUnit = gitem.Unit,
GoodsPackage = gitem.Package,
GoodsPrice = gitem.Price,
GoodsImg = gitem.HomeImage,
GoodsStore = sitem.Name,
StoreBranchId = sitem.BranchId,
GoodsStock = gsitem.Num
}
).Take(100).OrderByDescending(c => c.GoodsId).ToList();
foreach (var item in data)
{
var theitem = item;
}
return View(data);
}
2017-02-14
在使用EntityFramework(EF)的时候遇到的一个问题:从数据库生成C#的实体模型,但是后来数据库结构和表结构改动了,所以删除了之前的实体模型,然后重新添加了一个实体模型(这里我知道可以用T4模板来完成这个事情,包括EF中的实现也是用的T4的原理,
但是T4模板一直没去研究,不知道怎么玩=_=*)。但是在编译后报错“错误 102 参数 2: 无法从“System.Data.Objects.ObjectParameter”转换为“System.Data.Entity.Core.Objects.ObjectParameter”

解决办法是将“LeadingDebuggerModel.Context.cs”文件中“using System.Data.Objects;”改成“ using System.Data.Entity.Core.Objects;”



原理:EF5和EF5之前的版本引用的是using System.Data.Objects,EF6开始引用的是using System.Data.Entity.Core.Objects;。报这个错误,一般是EF5和EF6共存才会有的错误。
2017-05-03
C#中的var 和 object 和 dynamic:
var:隐式类型、虚类型 object:弱类型 dynamic:动态类型
var变量和object类型变量完全不同,使用object类型声明的变量是弱类型,可以被赋予任何类型的值,而使用var关键字声明的变量与普通变量一样,仍然是强类型变量。var变量被初始化是,其类型即被确定。
var变量与dynamic变量完全不同。var变量是一种静态类型的变量,而dynamic是一种动态类型的变量。静态类型可以执行类型检查、给出智能提示,而动态类型则不可以。
2018-05-31
C#中的string数组转int数组
int[] idsArray = Array.ConvertAll<string, int>(strArray, delegate(string s) { return int.Parse(s); });
.NET积累的更多相关文章
- 《Effective Java》学习笔记——积累和激励
从一个实际案例说起 国庆长假前一个礼拜,老大给我分配了这么一个bug,就是打印出来的报表数量为整数的,有的带小数位,有的不带,毫无规律. 根据短短的两个多月的工作经验以及猜测,最终把范围缩小到以下这段 ...
- 【知识积累】try-catch-finally+return总结
一.前言 对于找Java相关工作的读者而言,在笔试中肯定免不了遇到try-catch-finally + return的题型,需要面试这清楚返回值,这也是这篇博文产生的由来.本文将从字节码层面来解释为 ...
- 项目积累(三)CSS
公司不是专门做网站的,偶尔会接到客户让修改前端,有时候和让头疼,自己浏览器兼容问题处理不好. 慢慢积累吧. 先贴出来一些前端代码吧,如下: <div class="test" ...
- 【知识积累】SBT+Scala+MySQL的Demo
一.背景 由于项目需要,需要在Sbt+Scala项目中连接MySQL数据库.由于之前使用Maven+Java进行依赖管理偏多,在Sbt+Scala方面也在不断进行摸索,特此记录,作为小模块知识的积累. ...
- 积累一下SQL
开篇先自我检讨一下,写了博客几年以来首次试过连续两个月没出过博文,有客观也有主观原因,但是最近这年里博文数量也越来越少,博文的质量也每况日下.希望自己一直能坚持下来,多写写博文,这月尽量多写几篇来弥补 ...
- Oracle----SQL语句积累 (Oracle 导入 dmp文件)
Oracle----SQL语句积累 (Oracle 导入 dmp文件) Oracle SQL PL 导入dum文件 1.数据库DBA权限: 注意:这个是在cmd命令行中直接输入,不需要进入Oracl ...
- 记一些之前忘记积累的问题(fiddler 学习、XP系统不能上网、XP不能装fiddler、注册表快速找到)
记一些之前忘记积累的问题: fiddler学习:http://www.cnblogs.com/kingwolf_JavaScript/archive/2012/11/07/FiddlerUI.html ...
- python积累
python积累 一.逐渐积累 python逐渐积累 http://www.cnblogs.com/lx63blog/articles/6051526.html python积累_2 http://w ...
- 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据
分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前 ...
- 【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
随机推荐
- 跨应用使用Spoon框架截图的方法
spoon框架是一个很棒的用例驱动跟测试结果生成加工的框架.但在使用spoon-client时,传入参数需要被测应用的activity实例,跨应用测试会很受限(当然也可能是因为我对android不熟导 ...
- [LeetCode] Additive Number 加法数
Additive number is a positive integer whose digits can form additive sequence. A valid additive sequ ...
- [LeetCode] Find the Celebrity 寻找名人
Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist o ...
- [小干货]SqlBulkCopy简单封装,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- 迁移 SQL Server 数据库到 Azure SQL 实战
最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去,迁移过程可谓一波三折,故在此分享这次迁移中碰到的点点滴滴,希望对朋友们有所帮助. 文章来源:葡萄城产 ...
- MVC使用ajax异步刷新时怎样输出从后台中传过来的JSON数据
前言 这几天在学习MVC使用AJAX异步刷,因为是新手.所以在js中传参数到后台以及后台返回数据到前台怎么接受,怎么前台遍历出JSON数据都开始不知道,相信新手在使用时跟我一样会遇到,这里我就和大家分 ...
- 原生js实现fadein 和 fadeout
js里面设置DOM节点透明度的函数属性:filter= "alpha(opacity=" + value+ ")"(兼容ie)和opacity=value/10 ...
- .Net Core Logger 实现log写入本地文件系统
.net core 自带一个基础的logger框架Microsoft.Extensions.Logging. 微软默认实现了Microsoft.Extensions.Logging.Console.d ...
- 信鸽推送 10004,os文件配置出错,解决办法
信鸽推送注册失败 返回码 10004 是 os 配置出现问题 经过询问客服,得到以下解决办法 将SDK中的so文件复制下来 新建文件夹jniLibs,并将 so 配置文件粘贴进去 便可完成注册
- js杂项
css是 下划线命名法:table_sub ;javascript ,net ,sql 全部是camel命名法 找临界点 1.elem.checked 有两个值,true,false . 页面中< ...