Questions tagged «asp.net-mvc-3»

ASP.NET MVC 3是Model-View-Controller扩展的第三个主要版本,用于在.NET框架中开发Web应用程序。

3
将依赖项注入ASP.NET MVC 3操作筛选器。这种方法有什么问题?
这是设置。假设我有一些需要服务实例的动作过滤器: public interface IMyService { void DoSomething(); } public class MyService : IMyService { public void DoSomething(){} } 然后,我有一个需要该服务实例的ActionFilter: public class MyActionFilter : ActionFilterAttribute { private IMyService _myService; // <--- How do we get this injected public override void OnActionExecuting(ActionExecutingContext filterContext) { _myService.DoSomething(); base.OnActionExecuting(filterContext); } } 在MVC 1/2中,将依赖项注入到动作过滤器中有点麻烦。最常见的方法是使用自定义操作调用因为在这里可以看到:http://www.jeremyskinner.co.uk/2008/11/08/dependency-injection-with-aspnet-mvc-action-filters/的此替代方法的主要动机是因为以下方法被认为与容器不牢固且紧密耦合: public class …

15
500.19-内部服务器错误-无法访问请求的页面,因为该页面的相关配置数据无效
在每个人都读之前,我只想说我知道那里有相关的线程,但是我已经尝试过或者不理解。话虽如此,这里什么都没有... 我试图在IIS中运行MVC Web应用程序。不幸的是,我绝对陷入了这个错误: HTTP Error 500.19 - Internal Server Error The Request page cannot be accessed becasue the related configuration data for the page is invalid. Module: IIS Web Core Notification: BeginRequest Handler: Not yet determined Error Code: 0x80070005 Config Error: Cannot read configuration file due to insufficient permissions Config …

8
在同一控制器中具有相同动作名称的GET和POST方法[重复]
这个问题已经在这里有了答案: MVC [HttpPost / HttpGet]操作 (4个答案) 2个月前关闭。 为什么这不正确? { public class HomeController : Controller { [HttpGet] public ActionResult Index() { Some Code--Some Code---Some Code return View(); } [HttpPost] public ActionResult Index() { Some Code--Some Code---Some Code return View(); } } 当“被获取”时,我如何让控制者回答一件事?当“发布”时,我该如何回答?


12
Html.EditorFor设置默认值
新秀问题。我有一个参数传递给创建视图。我需要使用默认值设置一个字段名称。@ Html.EditorFor(model => model.Id)我需要将此输入字段设置为名称ID,并将其默认值通过动作链接传递给视图。 因此,如何使用默认值设置此输入字段-@ Html.EditorFor(model => model.Id)。 请问以下工作?在数字5是参数的情况下,我将输入文本字段以设置默认值。 @Html.EditorFor(c => c.PropertyName, new { text = "5"; })

7
从ASP.NET MVC操作获取绝对URL
这可能是一个虚拟的问题,但我找不到明确的指示。我在MVC3 Web应用程序中有一个POCO类,其唯一目的是管理服务器中某些文件的备份。通常,它会创建一个备份并将文件名返回给控制器,该控制器会发送一封包含URL的电子邮件以进行下载。这可以正常工作,但是我无法建立要发送的绝对URL。无论使用哪种功能,我总是会得到一个相对URL,例如/Backup/TheFile.zip,而不是例如http://www.somesite.com/Backup/TheFile.zip。我试过了: VirtualPathUtility.ToAbsolute("~/Backup/SomeFile.zip"); HttpRuntime.AppDomainAppVirtualPath + "/Backup/SomeFile.zip"; Url.Content("~/Backup/SomeFile.zip"); 但它们都返回/Backup/SomeFile.zip之类的内容。任何的想法?

14
由@Html帮助程序生成的MVC中如何更改“数据值编号”消息验证
假设这个模型: Public Class Detail ... <DisplayName("Custom DisplayName")> <Required(ErrorMessage:="Custom ErrorMessage")> Public Property PercentChange As Integer ... end class 和视图: @Html.TextBoxFor(Function(m) m.PercentChange) 将继续这个HTML: <input data-val="true" data-val-number="The field 'Custom DisplayName' must be a number." data-val-required="Custom ErrorMessage" id="PercentChange" name="PercentChange" type="text" value="0" /> 我想自定义data-val-number错误消息,因为它PercentChange是,所以我猜它已生成Integer。我一直在寻找这样的属性来更改它,range或者任何相关的不起作用。 我知道可以编辑unobtrusive的js文件本身或在客户端覆盖它。我想更改data-val-number的错误消息,就像服务器端的其他消息一样。


1
如何在ASP.NET MVC中调用Error.cshtml?
我已经在StackOverflow上阅读了十二个类似的问题,但是我似乎无法理解这一点。关于web.config和HandleErrorAttribute中的自定义错误节点,如何调用Error.cshtml?最终,这个问题的答案可能是已经存在的有关ASP.NET MVC错误处理的几个问题之一。但是,事实是,我不知道是哪一个。

2
ASP.NET MVC 3 Razor递归功能
好的,所以我想显示一个包含列表列表的列表... 我无法知道要显示多少个级别,因此我认为这是我打破旧的递归例程的地方。 我在确切地如何解决这个问题上遇到了麻烦。 这是我到目前为止(鉴于-简化): @foreach(MyObject item in @Model.ListOfObjects){ <div> @item.Title </div> //Call recursive function? } 现在,这些对象中的每一个也都有一个List <MyObject>。我想显示此div以下的每个级别,例如每个级别都有一个缩进标签。 我本来想在这里使用Razor函数,但是在构建它时需要一些帮助。这是我的想法: @functions{ public static void ShowSubItems(MyObject _object){ if(_object.ListOfObjects.Count>0){ foreach(MyObject subItem in _object.listOfObjects){ // Show subItem in HTML ShowSubItems(subItem); } } } } 但是如您所见,我显然需要一些帮助:)

7
清单的ViewModel验证
我有以下视图模型定义 public class AccessRequestViewModel { public Request Request { get; private set; } public SelectList Buildings { get; private set; } public List<Person> Persons { get; private set; } } 因此,在我的应用程序中,必须至少有1个人才能进行访问请求。您可以使用哪种方法进行验证?我不希望这种验证在我的控制器中发生,这很容易做到。唯一选择是自定义验证属性吗? 编辑:当前正在执行此验证与FluentValidation(不错的库!) RuleFor(vm => vm.Persons) .Must((vm, person) => person.Count > 0) .WithMessage("At least one person is required");


2
moq objects返回方法,应返回一个空对象
我正在开发Web API,我想出的一项测试是,如果客户端使用物理测试ID(物理测试是我正在寻找的资源)进行GET操作,但找不到该物理测试,则Web API应该返回404状态。 现在,我正在使用moq框架进行测试,并且具有以下代码: [TestMethod] public void then_if_physical_test_not_found_return_not_found_status() { var unitOfWork = new Mock<IUnitOfWork>(); var repository = new Mock<IRepository<PhysicalTest>>(); repository.Setup(r => r.FindById(It.IsAny<int>())).Returns(); unitOfWork.Setup(m => m.PhysicalTests).Returns(repository.Object); var pt = new PhysicalTestResource(unitOfWork.Object); HttpResponseMessage<PhysicalTest> response = pt.GetPhysicalTest(43); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode) } 我需要Return()方法来返回一个空对象,这将是如果找不到资源则实际API方法将返回的对象。 我尝试在Return()方法中将null作为参数发送,但没有成功。

7
asp.net mvc3返回原始html查看
还有其他方法可以从控制器返回原始html吗?与仅使用Viewbag相反。如下所示: public class HomeController : Controller { public ActionResult Index() { ViewBag.HtmlOutput = "<HTML></HTML>"; return View(); } } @{ ViewBag.Title = "Index"; } @Html.Raw(ViewBag.HtmlOutput)

7
在一个解决方案中,如何在多个项目之间共享脚本?
万一问题不清楚。我在一个解决方案中有3个MVC项目。每次我创建一个新项目时,它都会添加“ Scripts”文件夹以及所有我需要的.js文件。我不想每次都为每个应用程序创建它。有没有办法从解决方案的中央文件夹中引用脚本,以便所有应用程序/项目都可以与它们之间的所有通用脚本共享一个通用脚本文件夹? 编辑: 如果有的话,请说明这样做的利弊...现在我很好奇。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.