Tag: 模型 视图 控制器

将大型HTML字符串从View传递给Controller

注意:我现在是戴着.Net开发人员的前端开发人员。 可笑,我知道,但是我最终陷入这个混乱局面并不是这个问题的重点。 有了免责声明,这就是正在发生的事情。 正如标题所示,我需要将一个非常长的HTML字符串(如多页文本中)从View传递给Controller。 我花了最后几天研究各种方法来实现这一目标。 TBH,有些事情是有道理的,有些则没有。 这是我在View中的代码片段: var html = “” + “” + “”; // string literal html gets appended to some element… $(“#htmlContent”).submit(); 我想在此指出一些事项: 我在这里使用字符串文字来构造表单,因为这个DOM需要在某个时刻动态地附加到其他元素。 我是否使用有效的HTML字符串是不可能的。 我已经分别测试了它的有效性,一切看起来都很好。 我故意使用jQuery的submit()方法而不是使用Ajax调用。 控制器: [HttpPost] public ActionResult ParseHtml(FormCollection form) { string htmlStr = form[“content”].ToString(); …. // some code in between, but the first line appears to be causing […]

如何传递lambda Expression for Generic方法的参数以检查MVC EF 4.0中的重复项

我的应用程序中有超过10个设置屏幕。 在每个中我都要检查重复数据。 例如,这是一个示例代码。 private void CheckDuplication(AIRLINE airline) { var AIRLINE = context.AIRLINEs.Where(f => f.ABBREVATION == airline.ABBREVATION).FirstOrDefault(); if (AIRLINE == null) { context.AIRLINEs.Add(airline); } else { ModelState.AddModelError(“ABBREVATION”, “Abbreviation already exists.”); } } 对于每个设置,在整个项目中使用几乎相同的代码。 我想让这个方法通用,这样我就可以在需要检查Duplicates的地方调用它。 为此,我必须将参数传递给将设置“Lambda Expression”的generics函数。 我已经创建了一个静态类来从我的应用程序中的任何位置访问它。 问题是如何将参数传递给这样的类(包含generics方法),该类将为不同的表和列设置lambda表达式并显示通用错误消息。在此先感谢。

如何使用mvc创建Windows应用程序

hii是否可以使用mvc创建Windows应用程序

在区域外的MVC应用程序中托管WCF服务

我有一个MVC项目,我在根目录中添加了一个名为WCF的文件夹。 在这个文件夹中,我创建了一个名为CustomFunctions的WCF服务。 当我尝试启动该服务时,收到以下错误: 错误:无法从http://localhost/Viper/WCF/CustomFunctions.svc获取元数据…元数据包含无法解析的引用: 附加说明: 无法找到类型为“Viper.WCF.CustomFunctions”的类型,作为ServiceHost指令中的Service属性值提供,或者在配置元素system.serviceModel / serviceHostingEnvironment / serviceActivations中提供。 昨天我收到了这个错误,花了一些时间在互联网上寻找答案。 这导致我对我的Web.config以及我的Global.asax.cs进行了很多更改。 昨天,它开始工作,我停了下来。 然而,当我今天早上回来时,它再也没有工作。 没有添加任何新内容,也没有更改代码。 我已将以下内容添加到我的Web.config中: 这是我的Global.asax.cs : public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.svc/{*pathInfo}”); routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id = UrlParameter.Optional }, // Parameter defaults new { controller = “^(?!CustomFunctions).*” […]

尝试使用angularJS和c#webapi从服务器下载文件

将文件上传到服务器时,它很棒; 没有损坏的文件。 然而,当我下载文件时(除了纯粹的txt:s,它们是woork),它们的大小会变大并变得腐败。 经过大量的调查,我不知道会出现什么问题。 我只是将文件作为流写入响应并下载blob。 欢迎任何想法! 严重依赖此Thread解决方案; 使用AngularJS从ASP.NET Web API方法下载文件 现行守则如下; 的WebAPI: [Route(“GetFile”)] public HttpResponseMessage GetFile() { HttpResponseMessage result = null; //Get file object here try { IEnumerable headerValues = Request.Headers.GetValues(“fileID”); int key = Int32.Parse(headerValues.FirstOrDefault()); var fetchFile = db.FileRecords.Single(a => a.id == key); var localFilePath = fetchFile.path + fetchFile.name; if (!System.IO.File.Exists(localFilePath)) { result = Request.CreateResponse(HttpStatusCode.Gone); […]

无法在ASP.NET中更新cookie

我为此疯狂。 我可以写一个cookie,然后再读一遍。 但在某些时候,我想更新它所拥有的价值。 每当我再次获得cookie时,我会获得初始值,而不是更新的值。 下面是我用于写入/更新和读取cookie的代码。 private static HttpCookie WriteCookie(Guid siteId, string siteName) { var cookie = HttpContext.Current.Request.Cookies.Get(“UserSettings”); if(cookie != null) { cookie.Value = EncryptObject(new UserSettingsModel { SiteID = siteId, SiteName = siteName }); HttpContext.Current.Response.Cookies.Set(cookie); }else { cookie = new HttpCookie(“UserSettings”) { Path = “/”, Expires = DateTime.Now.AddDays(1), Value = EncryptObject(new UserSettingsModel { SiteID = siteId, […]

在winforms中使用MVC MVP模式

我在线阅读了MVC,UI设计的MVP模式。 但是,即使重读了几次,我也无法完全理解它是如何工作的。 我使用C#/ winforms进行开发。 有人能指点我好书/博客/网站吗? 会让我决定是否应该采用它的东西。 谢谢。

在MVC中将值从Controller传递给View

我有一个使用数据脚手架生成的视图。 该视图有一个文本字段: 创建视图: @Html.LabelFor(model => model.GroupId, htmlAttributes: new { @class = “control-label col-md-2” }) @Html.EditorFor(model => model.GroupId, new { htmlAttributes = new { @class = “form-control” } }) @Html.ValidationMessageFor(model => model.GroupId, “”, new { @class = “text-danger” }) 我想将控制器中的值传递给此文本字段。 我做了以下,似乎没有用。 控制器: public ActionResult Create(int id) { ViewBag.GroupId = id; Debug.WriteLine(“DEBUG: “+id); return View(); }

MVCvalidation – 使用服务层保持干燥 – 最佳做法是什么?

我试图坚持最好的多层设计实践,并且不希望我的MVC控制器与我的DAL(或任何IRepository)进行交互。 它必须通过我的业务服务层来执行适当的业务规则和validation。 validation – 我不想在我的域模型实体上使用各种validation属性(例如[必需])在控制器中执行validation,因为这揭示了我的前端。 更不用说这项服务也可以通过WPF前端实现。 由于我的validation是在我的服务层完成的,将值返回给UI的最佳做法是什么? 我不想要’void addWhatever(int somethingsID)’,因为我需要知道它是否失败了。 它应该是一个布尔值吗? 它应该是枚举吗? 我应该利用exception处理吗? 或者我应该在将validation属性装饰到Model对象时返回一些类似于MVC使用的IValidationDictionary对象? (如果需要,我可以在UI中使用适配器模式) 我想将我的实体从控制器传递到服务层,并了解validation/数据持久性是否失败。 我也不想忽视这样一个事实:我需要返回一个视图,指出可能validation失败的每个字段的正确错误消息(我希望尽可能保持无痛)。 我有几个想法,所有这些想法都不对。 我觉得答案包括特定于视图的模型实体,但这会导致必须处理的整个映射问题,更不用说这违反了DRY(不要重复自己)原则。 什么是最佳做法?