Tag: asp.net mvc

ServiceStack Razor身份validation

我正在查看Rockstars示例和ServiceStack.Razor。 我如何将身份validation纳入secure.cshtml页面。 因此,如果需要,我可以将用户重定向到Login.cshtml。 我只从SocialBootstrapApi例子中了解如果我混合使用MVC hybird,我可以将[authenticate()]放在ServiceStackController上来实现。 但是,如果我只想要一个没有.net MVC的纯SS项目呢?

从一个控制器调用方法到另一个控制器时,Session为null … MVC

我有一个ASP.NET MVC应用程序,我添加了一个新的控制器,并从现有控制器调用这个新控制器的方法。 我正在使用会话变量,在控制器A中我调用控制器B中的方法: if (Session[“Grid”] != null){}//session object is fine here ControllerB b = new ControllerB (); b.CallMethod(); 在新控制器中,我正在调用B,方法如下所示: public object CallMethod(){ if (Session[“Grid”] != null)//session object is null { //do my thing } } 会话变量不是问题,它是会话对象。 它完全无效,因此我的应用程序爆炸了。 会话在控制器A中运行良好,那么为什么在控制器B中它为空? 谢谢

自定义validation属性,用于将my属性的值与模型类中的另一个属性值进行比较

我想创建一个自定义validation属性,我想在其中将my属性的值与我的模型类中的另一个属性值进行比较。 例如我在我的模型类中: … public string SourceCity { get; set; } public string DestinationCity { get; set; } 我想创建一个自定义属性来像这样使用它: [Custom(“SourceCity”, ErrorMessage = “the source and destination should not be equal”)] public string DestinationCity { get; set; } //this wil lcompare SourceCity with DestinationCity 我要怎么去那儿?

在foreach-loop中创建许多DropDownListFor

我想从List中动态创建DropDownLists,它提供SelectList和一个保存选择的字段。 public class ViewModel { public List materialSelect { get; set; } } public class Material_Select { public SelectList selectList { get; set; } public int MaterialId { get; set; } } 在视图中,我想循环遍历materialSelect List并动态创建DropDownLists。 像这样的东西: int count = 0; foreach (var item in Model.materialSelect) { count++; @Html.LabelFor(model => model.materialSelect) @Html.DropDownListFor(item.MaterialId, item.selectList) } 在HttpPost ActionResult我需要获取选定的值。 有谁知道如何解决这个问题?

在ASP.NET MVC 2中将视图呈现为字符串

我们需要将ActionResult呈现给string以将页面添加到我们的内部搜索引擎索引中。 我们决定将此解决方案渲染为字符串 。 我遇到了用于处理View的ExecuteResult调用的问题。 代码片段: var oldController = controllerContext.RouteData.Values[“controller”]; controllerContext.RouteData.Values[“controller”] = typeof(TController).Name.Replace(“Controller”, “”); viewResult.ExecuteResult(controllerContext); // this line breaks 我收到以下错误: “Object reference not set to instance of object” error. 我已经确认viewResult不为null,因此必须在ExecuteResult内部抛出exception。 我们还能错过什么?

ASP.NET应用程序的高内存使用率

我们的一些ASP.Net应用程序存在问题。 我们的一些应用程序从一开始就声称拥有大量内存作为其工作集。 在我们的2个webfarm服务器(每个4GB的RAM)上运行多个应用程序。 我们有一个稳定的环境,大约1.2GB的内存空闲。 然后我们添加一个MVC5 + WebApi v2 +entity framework应用程序,立即声称1 + gb作为工作集内存,而实际上只使用大约300mb。 这导致其他应用程序抱怨没有足够的内存。 我们已经尝试设置虚拟内存限制和私有内存限制,但没有任何效果。 如果我们将其设置为大约500mb,应用程序仍然使用或多或少相同数量的内存(超过500)并且似乎不尊重所设置的限制。 作为参考,我用一个空的MVC5项目(VS2013模板)测试了这个,这已经声称300mb的内存,而只使用大约10mb。 将应用程序设置为32位应用程序似乎对减小工作集的大小有一些影响。 有没有办法减少工作集的大小,或对其大小实施硬性限制? 编辑:如果使用Web Api v2和Entity Framework为项目使用大量内存,我的API控制器如下所示: namespace Foo.Api { public class BarController : ApiController { private FooContext db = new FooContext(); public IQueryable GetBar(string bla) { return db.Bar.Where(f => f.Category.Equals(bla)).OrderBy(f => f.Year); } } 因为他们看了我能找到的大多数教程(包括来自微软的教程)。 由于LINQ延迟加载,因此在此处using不起作用。 如果我在任何地方都添加了ToList(未经测试),它可以工作,但这会产生任何其他影响吗? edit2:如果我这样做的话 namespace […]

在unit testing中使用Moq模拟认证用户

我们如何使用Moq框架模拟经过身份validation的用户。 使用表单身份validation 我需要为下面的操作编写unit testing public PartialViewResult MyGoals() { int userid = ((SocialGoalUser)(User.Identity)).UserId; var Goals = goalService.GetMyGoals(userid); return PartialView(“_MyGoalsView”, Goals); } 我需要在这里模拟userid的值

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(); }

在MVC5中使用Html.DisplayFor()的日期格式

在这篇文章中引用了答案,我添加了/ Views / Shared / DisplayTemplates并添加了一个名为ShortDateTime.cshtml的局部视图,如下所示: @model System.DateTime @Model.ToShortDateString() 当模型包含一个值时,它可以正常显示格式化的日期: @Html.DisplayFor(modelItem => item.BirthDate, “ShortDateTime”) 但是,如果返回null值,则抛出’System.InvalidOperationException’。 指示: {“传入字典的模型项为null,但此字典需要一个类型为’System.DateTime’的非空模型项。”} 我的第一个倾向是在局部视图中使用if语句,但似乎并不重要。 在不引用模板的情况下,空值的处理方式如下: @Html.DisplayFor(modelItem => item.BirthDate) 但原始的格式问题仍然存在。 当我尝试在视图中放置条件格式,如下所示,它不起作用,但我希望它只是一个语法的东西。 @Html.DisplayFor(modelItem => item.BirthDate == null) ? string.Empty : (modelItem => item.BirthDate, “ShortDateTime”)) 以上导致不同的’System.InvalidOperationException’: {“模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。”} 那么,有没有办法在视图中进行条件格式化以仅从DateTime值生成日期?