ASP.NET MVC

ASP.NET MVC Model绑定的简单应用

孤街浪徒 提交于 2020-03-24 09:04:55
3 月,跳不动了?>>> Model绑定是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程。 一、简单类型 1、单一值 获取值 二、多个值 获取值 三、数组 获取值 二、复杂类型 一、简单类型与数组组合 获取值 二、简单类型与集合 localhost:1234/ModelBinder?name=emrys&age=25&friends[0].name=lilei&friends[0].age=22&friends[1].name=hanmeimei&friends[1].age=25 获取值 来源: oschina 链接: https://my.oschina.net/u/4325154/blog/3209885

实体框架:“存储更新,插入或删除语句影响了意外的行数(0)。”

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-21 14:38:08
3 月,跳不动了?>>> 关闭。 这个问题是 题外话 。 它当前不接受答案。 想改善这个问题吗? 更新问题 ,使其成为Stack Overflow 的主题 。 去年 关闭。 我正在使用实体框架填充网格控件。 有时,当我进行更新时,会出现以下错误: 存储更新,插入或删除语句影响了意外的行数(0)。 自加载实体以来,实体可能已被修改或删除。 刷新ObjectStateManager条目。 我不知道如何重现这一点。 但这可能与我进行更新的紧密程度有关。 是否有人看到过此消息,或者有人知道错误消息指的是什么? 编辑:不幸的是,我不再自由重现我在这里遇到的问题,因为我退出了这个项目,不记得我是否最终找到了解决方案,是否有其他开发人员修复了它,或者我是否在解决它。 因此,我不能接受任何答案。 #1楼 我当时面临着同样的令人恐惧的错误... :)然后我意识到我忘记了设置一个 @Html.HiddenFor(model => model.UserProfile.UserId) 用于更新对象的主键! 我倾向于忘记这个简单但非常重要的事情! 顺便说一句: HiddenFor 适用于ASP.NET MVC。 #2楼 当我删除数据库中的某些行(在循环中)并在同一表中添加新行时,出现了该错误。 对我来说,解决方案是在每次循环迭代中动态创建新上下文 #3楼 哇,有很多答案,但是当我做了一些与众不同的事情时

使用ASP.NET MVC 5快速实现芒果分销后台管理系统(前言)

和自甴很熟 提交于 2020-03-20 23:39:02
3 月,跳不动了?>>> 前言 在前一篇文章中,我提到最近要陆续为大家写一些.Net实战技术文章。从今天起,我将围绕一个入门级现实的芒果分销管理系统案例,使用ASP.NET MVC 5,从前端到后端,一步一步为大家呈现整个系统的开发过程与业务关键架构以及代码。 如果您是一位.Net初学者 如果您刚刚接触MVC 如果您刚刚接触Entity Framework 如果您对本系列教程有些许兴趣 如果您一直想用.Net技术栈,从前端到后端开发,到发布,独立开发整套业务系统 那希望这篇入门级文章能够对您有所收获~! 系统业务介绍 给大家介绍下业务背景: 李老板住在一所老房子里,因为疫情原因,自己的工厂倒闭了。身边的朋友搞各式各样网购,整天卖货,真真假假,反正都取得了“成功”,这给李老板很大刺激。。李老板(化名,系统需求者)一天在芒果市场闲逛,市场的消费者寥寥无几,生意很是惨淡。他发现,这么大这么好的越南大青芒,竟然批发只要3.5一斤,一时间想出了一个赚钱的点子。这么便宜的东西,如果招代理,我提供货源,那我岂不是躺赚?假设批发价5元一斤,代理从我这拿货价7元一斤,邮费由批发市场承担,我有100个代理帮忙直销,每个代理每天有100个订单,每个订单净重芒果10斤,那我每天赚的钱就是(7-5) 100 100 = 20000块!!!! 李老板经过与批发市场老板几番洽谈,最终达成一致

ASP.NET Core应用:文件扫描上传

南楼画角 提交于 2020-03-20 18:38:44
3 月,跳不动了?>>> 微软的东西越来越棒了,各种开源和跨平台工具相继推出。.NET Core终于让.NET开始像Java一样,可以在任意平台上运行代码。最近学习了下微软的教程,结合跨平台的 Dynamic Web TWAIN ,分享下我的第一个ASP.NET Core "Hello World"。 安装 ASP.NET Core Dynamic Web TWAIN Hello World 如何初始化一个ASP.NET Core的工程?根据 微软的教程 : mkdir aspnetcoreapp cd aspnetcoreapp dotnet new -t web 创建的工程包含了很多的文件,已经比较复杂了。要搞明白发生了什么,还是一步一步创建文件比较好。所以只需要用命令: dotnet new 这样会创建一个命令行工程,包含两个文件 Program.cs 和 project.json 。我需要的是web server,所以修改下这两个文件。 Program.cs : using System.IO; using aspnetcoreapp; using Microsoft.AspNetCore.Hosting; namespace ConsoleApplication { public class Program { public static void Main(string

使用Razor View Engine从局部视图ASP.NET MVC 3将内容注入特定部分

北城余情 提交于 2020-03-19 19:11:06
3 月,跳不动了?>>> 我在 _Layout.cshtml 定义了此部分 @RenderSection("Scripts", false) 我可以很容易地从视图中使用它: @section Scripts { @*Stuff comes here*@ } 我正在努力的是如何从局部视图中将一些内容注入到本节中。 假设这是我的视图页面: @section Scripts { <script> //code comes here </script> } <div> poo bar poo </div> <div> @Html.Partial("_myPartial") </div> 我需要从 _myPartial 局部视图的“ Scripts 部分中注入一些内容。 我怎样才能做到这一点? #1楼 这是一个很受欢迎的问题,所以我将发布解决方案。 我遇到了同样的问题,尽管它不是理想的,但我认为它实际上工作得很好,并且不会部分依赖视图。 我的情况是,动作本身可以访问,但也可以嵌入到视图中-谷歌地图。 在我的 _layout 我有: @RenderSection("body_scripts", false) 在我的 index 视图中,我有: @Html.Partial("Clients") @section body_scripts { @Html.Partial("Clients

如何在ASP.NET MVC中的HTML-5 data- *属性中使用破折号

耗尽温柔 提交于 2020-03-18 17:53:57
3 月,跳不动了?>>> 我试图在我的ASP.NET MVC 1项目中使用 HTML5数据属性 。 (我是C#和ASP.NET MVC的新手。) <%= Html.ActionLink("« Previous", "Search", new { keyword = Model.Keyword, page = Model.currPage - 1}, new { @class = "prev", data-details = "Some Details" })%> 上面的htmlAttributes中的“data-details”给出以下错误: CS0746: Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access. 它在我使用data_details时有效,但我想它需要按照规范以“data-”开头。 我的问题: 有没有办法让这个工作,并使用HTML5数据属性与Html.ActionLink或类似的Html助手? 是否有其他替代机制将自定义数据附加到元素? 此数据稍后将由JS处理。 #1楼 它比上面提到的一切都更容易。 MVC中包含破折号( -

Html.ActionLink作为按钮或图像,而不是链接

无人久伴 提交于 2020-03-18 13:45:28
某厂面试归来,发现自己落伍了!>>> 在ASP.NET MVC的最新版本(RC1)中,如何将Html.ActionLink呈现为按钮或图像而不是链接? #1楼 我这样做的方法是单独使用actionLink和图像。 将actionlink图像设置为隐藏,然后添加jQuery触发器调用。 这更像是一种解决方法。 '<%= Html.ActionLink("Button Name", "Index", null, new { @class="yourclassname" }) %>' <img id="yourImage" src="myImage.jpg" /> 触发示例: $("#yourImage").click(function () { $('.yourclassname').trigger('click'); }); #2楼 借用Patrick的回答,我发现我必须这样做: <button onclick="location.href='@Url.Action("Index", "Users")';return false;">Cancel</button> 避免调用表单的post方法。 #3楼 似乎有很多关于如何创建显示为图像的链接的解决方案,但没有一个使它看起来像是一个按钮。 我发现只有很好的方法才能做到这一点。 它有点hacky,但它的工作原理。

.Net系列文章预热中,大佬给我些鼓励!!

天大地大妈咪最大 提交于 2020-03-17 14:56:01
某厂面试归来,发现自己落伍了!>>> 在之前的文章《.Net vs .Net Core,我该如何选择》一文中,我大概阐述了.NET framework 与 core 在服务端应用中应该如何选择的问题,希望读过这篇文章的朋友能够有所收获。文末结尾,我提到最近要写一系列关于.Net相关的文章,但是今天一提笔,却突然犯难了。 个人技术背景 本人是有.Net技术栈开发接近8年的老程序猿^^,之前就职于外企中,.Net Framework栈从最初的Winform, Silverlight, WCF 到之后的WPF, Windows Workflow,再到现在的Razor, ASP.NET MVC,EF ,整个.Net Framework庞大的生态系统都有所涉猎,做过分布式系统架构,感受也比较深刻;.Net Core全家桶MVC,EF等,也是最近才深入看一些源码,其大概原理也是颇有了解。目前就职于一家国企,负责整个公司自开发体系结构改造,流程规范,主要是JAVA方向,因为之前我是基本没用过Java的,不过.Net与Java真是孪生兄弟,在上手的一年多,整个Java的Spring Boot/Cloud 微服务架构,也是有个大概的掌握(确实Java的文档,资料也实在太多了),起初也是想借着学习的热情写一些Java的技术随笔,可是看来看去,还是最后放弃了,因为园子里大佬的文章简直都是极品

MVC到底使用哪种方式传递Model,在ViewData、ViewBag、PartialView、TempData、ViewModel、Tuple之间取舍

自闭症网瘾萝莉.ら 提交于 2020-03-15 17:52:11
在"MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple"中,体验了使用不同的方式传递多个Model,而ViewData、ViewBag、PartialView、TempData、ViewModel、Tuple都可以用来传递Model,如何取舍呢?本篇主要包括: 使用ViewData 使用ViewBag 使用PartialView 使用TempData 使用ViewModel 使用Tuple 总结 使用ViewData 3 ViewData是在ControllerBase中类型为ViewDataDictionary的属性,以键值对的方式存储,通过key来获取值。 主要用途: ViewData和ViewBag的作用是一样的,只不过在早期的ASP.NET MVC版本(1和2)中,使用的是ViewData,后期的版本推出了ViewBag,它比ViewData有更多的优点,推荐使用ViewBag。 优点: ● 方便:以键值对的方式把Model存放起来,再从控制器传递到视图。 缺点: ● 单向传递:只能从控制器传递到视图。 ● 只能存放当前请求下的Model:无法维持在多个请求下的Model,一旦页面跳转,ViewData的值就变成了null ● 只能存放"小数据":如果要传递"大数据"

ViewData和ViewBag有什么区别?

我们两清 提交于 2020-03-15 17:44:12
我在MVC 3中看到了 ViewBag 。与MVC 2中的 ViewData 有什么不同? #1楼 ViewData :它需要对复杂数据类型 ViewData 类型转换,并检查空值以避免错误。 ViewBag :它不需要为复杂数据类型进行类型转换。 请考虑以下示例: public class HomeController : Controller { public ActionResult Index() { var emp = new Employee { EmpID=101, Name = "Deepak", Salary = 35000, Address = "Delhi" }; ViewData["emp"] = emp; ViewBag.Employee = emp; return View(); } } View 的代码如下: @model MyProject.Models.EmpModel; @{ Layout = "~/Views/Shared/_Layout.cshtml"; ViewBag.Title = "Welcome to Home Page"; var viewDataEmployee = ViewData["emp"] as Employee; //need type casting } <h2>Welcome to Home Page</h2>