Tag: asp.net mvc 4

ASP.NET MVC +填充下拉列表

在我的viewModel中我有: public class PersonViewModel { public Person Person { get; set; } public int SelectRegionId { get; set; } public IEnumerable Regions { get; set; } } 但是我在Controller / View中需要做些什么来显示值? 我现在拥有的: 控制器: public ActionResult Create() { var model = new ReUzze.Models.PersonViewModel { Person = new Person(), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), “Id”, “Name”) }; return View(model); […]

Asp.Net Routing – 显示完整的URL

我有一个域名“http://www.abc.com”。 我在这个域上部署了一个ASP.net MVC4应用程序。 我还在RouteConfig.cs中配置了默认路由,如下所示 routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “MyApp”, action = “Home”, id = UrlParameter.Optional } ); 以上映射确保任何试图访问“http://www.abc.com”的人自动显示“http://www.abc.com/MyApp/Home”页面 一切都按预期工作,但浏览器中的地址栏显示“http://www.abc.com”而不是“http://www.abc.com/MyApp/Home”。 有没有办法强制浏览器显示完整的URL,包括控制器和动作?

unit testing带有伪HTTPContext的ASP.NET Web API控制器

我正在使用以下方法通过ASP.NET Web API控制器上传文件。 [System.Web.Http.HttpPost] public HttpResponseMessage UploadFile() { HttpResponseMessage response; try { int id = 0; int? qId = null; if (int.TryParse(HttpContext.Current.Request.Form[“id”], out id)) { qId = id; } var file = HttpContext.Current.Request.Files[0]; int filePursuitId = bl.UploadFile(qId, file); } catch (Exception ex) { } return response; } 在我的unit testing中,我在调用UploadFile操作之前手动创建了一个HTTPContext类: var request = new HttpRequest(“”, “http://localhost”, […]

在MVC4中,如何一次保存多行编辑?

我可以找到MVC4应用程序的每个示例都有一次编辑处理一行数据。 它显示所有数据行,每行都有一个编辑,可以将您带到另一个页面,并允许您编辑该行。 我想要做的是显示行中的所有数据元素,而不是让用户必须在每一行上单击EDIT,所有行的数据点都已经在用户可以直接更新的文本框中。 并且页面上只有一个SAVE可以立即保存所有更新/编辑。 如何设置我的MVC应用程序来支持它?

如何使用.Net 4.0中包含的HttpClient类将文件上传到IIS Express中运行的Asp.Net MVC 4.0操作

我有一个C / S应用程序。 我使用Asp.Net MVC 4.0实现了服务器,客户端运行在.Net 4.5上。 我在服务器端有一个Controller Action,如下所示: public JsonResult Upload(string arg1, int arg2) { //do something about arg1 and arg2 here … var files = Request.Files; if (files.Count > 0) { foreach(var file in files) { var ms = new MemoryStream(); file.InputStream.CopyTo(ms); //save it to somewhere … } } … } 我创建了一个测试html页面,在浏览器中测试它。 它按预期工作。 […]

MVC 4如何从控制器正确传递数据到视图

我目前有一个带有LINQ语句的控制器,我将数据传递给我的视图。 我试图找到一个更有效和更好的编码方法来做到这一点。 我的家庭控制器声明如下。 Var Melt Furnace1 = (from item in db.tbl_dppITHr where item.ProductionHour >= StartShift && item.ProductionHour x.Furnace1Total), ViewData[“Furnace1Total”] = Melt.Furnace1; 在我看来,我然后引用ViewData来显示这一点。 运用 @model dynamic 现在我在Index方法中有很多linq语句。 对于每一个我正在做ViewData[] 我希望有人可以展示如何在没有ViewData或ViewBag方法的情况下将多个var从控制器传递到视图。 我将如何在我的视图中访问此内容。

如何显示打开/保存对话框asp net mvc 4

我可以请求一个文件并将其返回。 我不知道如何显示打开/保存对话框。 视图: function saveDocument() { $.ajax({ url: ‘/Operacao/saveDocument’, type: ‘POST’, DataType: “html”, success: function (data) { //I get the file content here } }); } 控制器: public void saveDocument() { Response.ContentType = “image/jpeg”; Response.AppendHeader(“Content-Disposition”, “attachment; filename=SailBig.jpg”); Response.TransmitFile(Server.MapPath(“~/MyPDFs/Pdf1.pdf”)); Response.End(); }

修改DAL,System.ArgumentException时出错,“已存在具有相同密钥的条目”

好吧,我完全被这个难倒了。 我可能没有足够的信息在这里发布,但我甚至不知道从哪里开始寻找。 我正在尝试在DAL.edmx文件上“从数据库更新模型”。 我将一个字段包含在之前未包含的视图中。 我尝试刷新,然后我尝试重命名数据库中的视图并从DAL中删除视图,以便我可以重新添加它。 我有两次 接下来,我无缘无故地尝试将我重命名的视图添加到DAL中,得到了相同的exception。 从DAL.tt手动删除没有帮助。 谷歌搜索问题,只有2个不相关的结果。 我不知道哪里开始寻找。 我没有写它,但这里是视图的源sql(如果它有帮助)。 EF不会添加重命名的视图这一事实暗示它可能与SQL有关吗? SQL在mngmnt studio中运行良好。 SELECT ID, IssueID, IssueTypeID, IssueText, IssueCreateDate, WeekendDate, CustomerName, Employee, CONVERT(DECIMAL(6, 2), AdjustedTotalRHours, 101) AS AdjustedTotalRHours, AdjustedTotalOHours, AdjustedTotalRHours + AdjustedTotalOHours AS Hours, InvoiceNumber, AdjustedInvoiceAmount, COALESCE ((SELECT SUM(InvoiceAmount) AS Expr1 FROM TrendingDataFinal AS I1 WHERE (InvoiceNumber = T1.InvoiceNumber) AND (CompanyID = T1.CompanyID) AND […]

UrlHelper.Action包含不需要的附加参数

我在控制器ApplicationsController有一个方法,我需要在其中获取操作方法的基本URL: public ActionResult MyAction(string id) { var url = Url.Action(“MyAction”, “Applications”); … } 问题是这包括当前路由数据中的string id ,当我需要没有URL时(URL用于在基于URL的查找中从CMS获取内容)。 我试过传递null和new { }作为routeValues参数无济于事。 匹配路由如下(高于所有其他路由): routes.MapLowercaseRoute( name: “Applications”, url: “applications/{action}/{id}”, defaults: new { controller = “Applications”, action = “Index”, id = UrlParameter.Optional }); 我已经看到了其他一些问题,但它们似乎都没有可行的解决方案。 目前,我正在使用硬编码控制器中的路径; 但是,我希望能够将其抽象为动作filter,因此我需要能够生成URL。 是否有一种干净/传统的方法来防止这种行为?

类型’System.Data.Linq.DataContext’在未引用的程序集中定义

问题 转到特定页面时出错(在本地调试中):CS0012:类型’System.Data.Linq.DataContext’在未引用的程序集中定义。 您必须添加对程序集’System.Data.Linq,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’的引用。 以下是错误消息中引用的代码行: 第28行: 第29行: 第30行:公共类_Page_Views_blah_granny_cshtml:System.Web.Mvc.WebViewPage { 第31行: 第32行:#line隐藏 所有其他页面都很有效 – 这只在特别访问一个页面时才会发生。 该引用适用于所有其他页面。 据我所知,这不是引用的问题。 我花了很多时间研究这个问题。 我发现的所有答案都建议转到web.config并在system.web> configuration> assemblies中为linq添加程序集引用。 我没有列出组件,我怀疑这是旧版本的更多。 无论如何,我做到了。 它给了我另一个错误,说它不知道如何处理程序集。 我删除了system.data.linq并再次添加了它。 我重新启动了VS和我的电脑。 我的代码 – 由VS默认生成 – 具有System.Linq。 背景 – 这是如何开始的: 该应用程序是MVC 4,C#。 我在DataContext中创建了一个新类,添加了一个新的控制器,并创建了一个强类型视图。 这是一些非常相似的代码(可能不需要,但以防万一)。 两个class: public class granny { public string data { get; set; } public […]