Tag: asp.net mvc

如何使用数据注释来validation输入的特定类型

用户必须仅以整数forms输入。 如何使用数据注释进行validation?

确保控制器具有无参数的公共构造函数

我收到这个错误 尝试创建“AnalyticController”类型的控制器时发生错误。 确保控制器具有无参数的公共构造函数。 代码在测试环境中工作,但在生产服务器上不工作。 知道什么可能导致问题吗? 这是我的控制器 public class AnalyticController : ApiController { private AnalyticBLL analyticBLL = new AnalyticBLL(); // POST api/status public void Post(AnalyticDTO analyticDTO) { if (!analyticBLL.Register(analyticDTO)) helpers.BusinessLayer.CreateResponseException(analyticBLL.Errors); } }

为什么我的Sitecore.Context.Language在Controller中重置?

Sitecore似乎在它的Context对象中使用语言变量做了一些奇怪的事情。 如果我使用url ?sc_Lang=ru-RU (获取我的网站的俄语版本)加载CMS页面,当它到达我的MVC控制器时,它将重置为语言返回到en public PartialViewResult Navigation() { //en var language = Sitecore.Context.Language; } 我知道sitecore确实设置了这个,因为如果我添加一个HTTP管道,我可以看到Sitecore.Context.Language为ru-RU : public class LanguageResolver { public void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { //ru-RU var language = Sitecore.Context.Language; } } 注册: 正如sitecore博客文章中所推荐的那样 我做了一些挖掘sitecore dll,我注意到Sitcore.Context.Language基本上是HttpContext.Current.Items[“sc_Language”]的包装器。 当我检查这个时,我看到相同的结果(即在管道中它是控制器中的ru-RU它是en ) 所以某处某事正在将这个HttpContext Item转为”en” 。 作为实验,我将一个新变量放入Items集合中。 然后我可以在Controller中再次看到它(在它的正确状态),因此Items集合正确地传递给控制器​​。 我最初没有开发这个网站,但我在代码库中看不到任何改变这个语言变量的地方。 还有其他人经历过这个吗? 我错过了什么? 我需要配置什么,检查? sitecore文档(像往常一样)在这个问题上非常糟糕。 要跟进@jammykam的评论: 我可以看到lang cookie响应Set-Cookie: redrow#lang=ru-RU; path=/ Set-Cookie: redrow#lang=ru-RU; […]

将日期参数传递给对MVC操作的ajax调用的安全方法

我有一个MVC操作,它的一个参数是一个DateTime ,如果我传递“17/07/2012”,它会抛出一个exception,说param为null但不能01/07/2012值,但如果我通过01/07/2012它被解析为Jan 07 2012 。 我将日期传递给DD/MM/YYYY格式的ajax调用,我应该依赖MM/DD/YYYY格式,尽管在web.config配置了文化? 这是一个简单的方法,只有一个日期参数。

HTML.EditorFor有3个小数位

如何显示带小数点后3位的模型十进制字段。 目前它将它缩短为2位数。 1,237目前将显示为1,24;)

捕获服务器端的所有JavaScript客户端错误

如何捕获客户端代码中出现的任何exception,例如Chrome开发人员工具上的“暂停捕获的exception”?

ModelState无效时保留下拉信息

我的DropDownLists存在一些问题,因为当我发布信息并且我的模型无效时,它会回到页面“空”,触发与此问题完全相同的错误。 我已经使用了那里提出的解决方案,它解决了我的问题。 无论如何,我想避免每当我的ModelState无效时查询数据库,我就采用这种方法。 我想知道它是否有效或者现在是否有更好的方法,考虑到我没有使用MVC来代替MVC2(这是MVC版本),我现在正在使用MVC 5,也许他们添加了一些新的东西来解决这个。 我所做的是在我的模型无效时使用TempData来保存信息。 public class ViewModel { [DisplayName(“Project”)] public int ProjectID { get; set; } public List Projects { get; set; } //Other fields } 现在我的Create()动作(填充项目) [HttpGet] public ActionResult Create() { ViewModel vmodel = new ViewModel(); vmodel.Projects = db.GetProjects(User.Identity.Name).Select(x => new SelectListItem { Text = x.Description, Value = x.Id }).ToList(); TempData[“Projects”] = […]

如何在html动作链接中插入图像? asp.net mvc

我在html操作链接的webproject上有导航和许多链接。 它们很难看下划线。 我想插入一些带有名字的图像或玩动作风格链接。 可能吗? 怎么做? 感谢并保重,Ragims

MVC Web API错误代码SCRIPT7002

作为参考,我使用的是Windows 10和Visual Studio 2017。 我有一个MVC web api和相应的Web应用程序,并具有登录function。 我只是尝试使用IE进行调试。 每当我使用GET调用时,我遇到以下错误:SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问被拒绝。 我已经配置并启用了CORS,所以我完全不知道为什么这不起作用。 在我的WebApiConfig文件中,我有这个: public static void Register(HttpConfiguration config) { // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: “DefaultApi”, routeTemplate: “api/{controller}/{id}”, defaults: new { id = RouteParameter.Optional } ); config.EnableCors(); […]

导致此错误的原因是什么? 执行处理程序’System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerWrapper’的子请求时出错

我无法弄清楚为什么我会收到这个错误。 它发生在ajax调用上。 任何帮助表示赞赏。 谢谢! 这是完整的错误文本: – 6/21/2010 6:09:10 PM – System.Web.HttpException(0x80004005):执行处理程序’System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerWrapper’的子请求时出错。 —> System.Web.HttpUnhandledException(0x80004005):抛出了类型’System.Web.HttpUnhandledException’的exception。 —> System.Web.HttpException(0x80004005):使用自定义TextWriter时,OutputStream不可用。 在System.Web.HttpResponse.get_OutputStream()中的AjaxControlToolkit.ToolkitScriptManager.OutputCombinedScriptFile(HttpContext context)中的C:\ AjaxBuild \ Ajax \ Server \ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:第286行,位于AjaxControlToolkit.ToolkitScriptManager.OnInit(EventArgs e)在C:\ AjaxBuild \ Ajax \ Server \ AjaxControlToolkit \ ToolkitScriptManager \ ToolkitScriptManager.cs:系统中System.Web.UI.Control.InitRecursive(Control namingContainer)的System.Web.UI.Control.InitRecursive(Control namingContainer)中的第246行System.Web.UI上System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)的System.Web.UI.Control.InitRecursive(Control namingContainer)中的.Web.UI.Control.InitRecursive(Control namingContainer)。 System.Web.UI.Page.ProcessRequest的System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)的Page.HandleError(例外e)(布尔includeStagesBef 在System.Web上的System.Web.UI.Page.ProcessRequest(HttpContext上下文)的System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文)处的System.Web.UI.Page.ProcessRequest()处的oreAsyncPoint,布尔值includeStagesAfterAsyncPoint。位于c:\ Windows \ Microsoft.NET \ Framework […]