Tag: asp.net mvc 2

从ASP MVC中的区域控制器链接到根控制器

如何从我的某个区域链接到我的一个根控制器? 这给了我一个错误: 路由表中的路由与提供的值不匹配。 我在根控制器集合中的一个名为Admin的文件夹中有一个名为Page控制器。 我可以通过键入\ Admin \ Page来访问此控制器。 这是我注册路线的方式: routes.MapRoute( “Admin”, “Admin/{controller}/{action}/{id}”, new { controller = “Admin”, action = “Index”, id = “” } ); 我希望我可以在我的视图中使用此语法来解决“Admin”路由,但这不起作用。 关于如何修复它的任何想法?

如何删除持久化远程填充的jqgrid树节点上的闪烁

使用json数据从服务器读取jqGrid树节点。 单击节点从服务器读取子节点。 如果加载页面,下面的代码用于恢复打开的树节点。 始终只在树中打开单个节点。 Controller将节点ID分配给autoClicked数组,gridComplete使用此路径打开节点。 由于多个服务器多次请求建立网格,这会导致网页加载页面加载。 如何禁用网格闪烁? 是否可以防止多个jqGrid构建并显示只找到jqGrid树? 在Cookie中发送扩展的TreeGrid节点中的答案仅适用于完全填充的网格。 var autoClicked=[]; $(function () { var grid = $(“#tree-grid”); grid.jqGrid({ gridComplete: function () { setTimeout(function () { var id = autoClicked.shift(); var rData = grid.getGridParam(‘data’); var data = null; for (var i = 0; i < rData.length; i++) { if (id == rData[i].id) { data = […]

扩展ASP.NET MVC 2 Model Binder以适用于0,1个布尔值

我注意到ASP.NET MVC 2中模型绑定器不会将“1”和“0”分别识别为true和false 。 是否可以全局扩展模型绑定器以识别它们并将它们转换为适当的布尔值? 谢谢!

扩展MVC RequiredAttribute

我有一个ExtendedAttribute的扩展类,它不会发回错误消息。 如果我在调试器中检查它,文本就没问题了。 public class VierRequired : RequiredAttribute { public VierRequired(string controlName) { //… } public string VierErrorMessage { get { return ErrorMessage; } set { ErrorMessage = value; } } // validate true if there is any data at all in the object public override bool IsValid(object value) { if (value != null && !string.IsNullOrEmpty(value.ToString())) […]

ASP.NET MVC 2 – 绑定到抽象模型

如果我有以下强类型视图: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage” %> 位置是抽象类。 我有以下控制器,它通过POST接受强类型模型: [HttpPost] public ActionResult Index(Location model) 我收到一个运行时错误,指出“无法创建抽象类 这当然有道理。 但是 – 我不确定这里最好的解决方案是什么。 我有很多具体的类型(大约8个),这是一个只能编辑抽象类属性的视图。 我试图做的是为所有不同的具体类型创建重载,并以通用方法执行我的逻辑。 [HttpPost] public ActionResult Index(City model) { UpdateLocationModel(model); return View(model); } [HttpPost] public ActionResult Index(State model) { UpdateLocationModel(model); return View(model); } 等等 然后: [NonAction] private void UpdateLocationModel (Location model) { // ..snip – update […]

反映控制器列表

我对c#中的反思有点新意。 我正在尝试生成所有控制器的列表,以便测试它们是否使用特定的actionfilter进行修饰。 编写unit testing时,如何访问测试的组件? 这似乎不起作用: var myAssembly = System.Reflection.Assembly.GetExecutingAssembly();

模型绑定字典

我的控制器操作方法将Dictionary传递给视图。 我认为我有以下几点: 下面是我处理POST操作的action方法: [HttpPost] public virtual ActionResult MyMethod(Dictionary items) { // do stuff…….. return View(); } 当我在文本框中输入一些值并点击提交按钮时,POST操作方法没有得到任何项目? 我究竟做错了什么?

当IDENTITY_INSERT设置为OFF时,无法在表’ClientDetails’中为标识列插入显式值

每当我尝试通过表单将数据提交到此数据库时,我都会抛出此exception: – 例外 当IDENTITY_INSERT设置为OFF时,无法在表’ClientDetails’中为标识列插入显式值。 但是,表单没有字段,因此数据可以进入标识列(PK),因此我不知道为什么会出现这种情况。 目前我正在使用标准的asp.net mvc提交按钮,但我最终将它链接到一个jquery对话框按钮 ClientNo Column是exception所指的列,具有以下属性 名称 – ClientNo type – int NULLS – 没有 身份规范 – 是的 是身份 – 是的 增量 – 1 种子 – 1 ClientNo有900以后的数据等 当客户端表单没有在表单中输入数据时,也会抛出此exception 它抛出在DataCOntext.SubmitChanges()方法上 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create1(ClientDetail client) { if(ModelState.IsValid) { client = new ClientDetail(); UpdateModel(client); //Debug Code System.Diagnostics.Debug.WriteLine(“AddNewClient Create1”); repo.AddNewClient(client); //Debug Code System.Diagnostics.Debug.WriteLine(“Save Create1”); […]

HandleErrorInfo使用MVC2 – 模型为空?

我有一个MVC 2 Web应用程序,即将发布。 到目前为止,我已关闭自定义错误,但我希望它们在我准备好生产时正常工作。 我已经使用以下内容设置了我的web.config: 404完美运行,NotFound是一个直接映射到View的动作,它只使用我自己的Site.Master文件显示一个非常标准的404页面。 对于除404之外的任何内容,我希望用户能够查看exception详细信息。 (这是一个内部应用程序,这样做没有安全风险)。 Error默认操作Index设置为返回我已定义的View()。 我无法弄清楚如何将exception信息传递给View? 看起来很有希望: How to use CustomErrors in ASP.NET MVC 2 但是当我使用View时: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Bootstrap.Master" Inherits="System.Web.Mvc.ViewPage” %> 由于HandleErrorInfo为null,错误页面本身会抛出错误。 显然,自定义错误中的错误会导致MVC2出现大量问题,结果是黄色的死亡屏幕。 我想我要么错过了博客中的一些关键内容,要么就是没有解释如何让HandleErrorInfo成为除null以外的任何东西而不为我的每一个控制器/动作设置Error属性。 另外,我知道MVC3处理得更好,我知道Razor非常好。 它尚未用于此项目,也不会更改此项目以使用它。 所以请不要“使用MVC3”答案。

自定义validation属性MVC2

我有一个自定义validation属性,它检查两个属性是否具有相同的值(如密码和重新键入密码): [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] public class EqualToPropertyAttribute : ValidationAttribute { public string CompareProperty { get; set; } public EqualToPropertyAttribute(string compareProperty) { CompareProperty = compareProperty; ErrorMessage = string.Format(Messages.EqualToError, compareProperty); } public override bool IsValid(object value) { if (value == null) { return true; } PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value); var property = properties.Find(CompareProperty, true); […]