Tag: asp.net mvc 4

登录用户的ID

如何获取登录用户的UserId? 我正在使用标准系统生成的AccountModel。 我可以使用以下命令获取用户名 User.Identity.Name 但我没有看到UserId字段。 我想将UserId用作另一个表的外键。

ASP.NET WebApi – 一个控制器中的多个GET操作

我有Users控制器和基本的REST模式工作正常。 但是,我需要一个额外的模式users/{id}/usergroups ,它将返回该用户的所有用户组。 实现这一目标的最佳方法是什么,因为我想我将需要更多控制器上的类似路由。 只是默认的还不够…… 错误 找到了与请求匹配的多个操作:Api.Models.Users.User GetUser(Int32)类型Api.Controllers.UsersController System.Collections.Generic.IEnumerable`1 [Api.Models.Users.UserGroup] GetUserGroups(Int32)on键入Api.Controllers.UsersController 码 // GET api/Users public IEnumerable GetUsers() // GET api/Users/5 public User GetUser(int id) // THIS IS CONFLICT 1 // PUT api/Users/5 public HttpResponseMessage PutUser(int id, User user) // POST api/Users public HttpResponseMessage PostUser(User user) // DELETE api/Users/5 public HttpResponseMessage DeleteUser(int id) // GET […]

MVC模型布尔显示是或否

我在mvc 4entity framework4.5中的模型中有一个布尔字段 我想在我的视图中显示该字段 我用这个电话 @item.isTrue 但我得到了真或假, 我想在真实时得到肯定,在虚假时立刻肯定 我该怎么办?

如何手动validation具有属性的模型?

我有一个名为User的类和一个属性Name public class User { [Required] public string Name { get; set; } } 我想validation它,如果有任何错误添加到控制器的ModelState或实例化另一个模型状态… [HttpPost] public ActionResult NewUser(UserViewModel userVM) { User u = new User(); u.Name = null; /* something */ // assume userVM is valid // I want the following to be false because `user.Name` is null if (ModelState.IsValid) { TempData[“NewUserCreated”] = “New […]

如何在MVC 4中触发按钮单击

我是MVC的新手,我正在为我的应用创建一个注册表单,但我的按钮点击不正常工作当前代码未在下面给出 视图 Sign Up @Html.Label(“User Name”) @Html.TextBoxFor(account => account.Username) @Html.Label(“Email”) @Html.TextBoxFor(account => account.Email) @Html.Label(“Password”) @Html.TextBoxFor(account => account.Password) @Html.Label(“Confirm Password”) @Html.Password(“txtPassword”) 模型 public class Account { public string Username { get; set; } public string Email { get; set; } public string Password { get; set; } } 控制器(未完全完成) public class AccountController : Controller { // […]

在控制器中调用异步方法

我有一个控制器,如下所示: public MyController : Controller { public ActionResult DoSomething() { CallSomeMethodWhichDoesAsyncOperations(); return Json(new { success = successful }, JsonRequestBehavior.AllowGet); } } 调用我的控制器时,我收到以下错误: 此时无法启动异步操作。 异步操作只能在异步处理程序或模块中启动,或者在页面生命周期中的某些事件中启动。 如果在执行页面时发生此exception,请确保将页面标记为 。 现在我无法控制CallSomeMethodWhichDoesAsyncOperations ,并且方法本身不是异步的,但内部会执行一些异步触发并忘记。 我该怎么做才能解决它? 尝试将控制器更改为AsyncController和/或使控制器中的方法异步。 编辑: 当我第一次尝试使用AsyncController时,结果相同 public MyController : AsyncController { public ActionResult DoSomething() { CallSomeMethodWhichDoesAsyncOperations(); return Json(new { success = successful }, JsonRequestBehavior.AllowGet); } } 然后 public MyController […]

三层asp.net mvc应用程序中的dependency injection

我有一个3层应用程序,层是: Web:表示层(ASP.NET MVC) – >只能看到BLL BLL:业务逻辑层 – >只能看到DAL DAL:数据访问层 因此, Web层对我的DAL层一无所知。 我在DAL有存储库接口和具体类,它们在业务逻辑类的BLL层中使用。 问题是,为了解耦DAL和BLL ,如何设置Ninject以将我的存储库实现注入BLL层? 同样的问题是Web层和BLL层,我在BLL上有接口和实现,我在Web层使用它们,我应该如何为此设置Niject?

MVC DropDownListfor()基础知识

我有一个由员工信息组成的模型。 在我的模型中,有一个名为City的属性,用于定义他所居住的Employee城市。 该属性如下所示 public string City{get;set;} 现在我有一个包含一个表格的视图,该表格将由员工填写以进行注册。 我想使用下拉列表来选择城市。 我认为以下代码将用于我发现的下拉列表。 我的型号名称是Employee。 @Html.DropDownListFor(m=>m.City,new SelectList()) 请告诉我“有没有办法直接在SelectList()方法中为dropdownlist定义选项,如…在html中?” 如果没有,我应该在哪里定义此下拉列表,调用位置和渲染位置。我不知道在哪里定义值? 我很困惑,因为这是mvc,我们必须分开关注,我认为我们无法在任何地方定义任何东西? 提前致谢..

有问题的MVC控制器上的Async vs Sync基准测试

我已经设置了这篇MSDN文章在ASP.NET MVC 4中使用异步方法的示例,并做了一些基准测试以了解我的想法。 服务器配置: Windows 7专业版(x64) IIS 7.5 英特尔酷睿i7-2600S @ 2.80HGz 8GB内存 AppPool>最大工作进程:10 我设置了2个控制器Sync和Async ,并使用加载器工具进行基准测试。 加载器工具只发送50-60个常量请求一分钟。 每个控制器调用相同的Web服务3次。 每个代码如下: 同步: public ActionResult Sync() { var g1 = GetGizmos(“url1”); var g2 = GetGizmos(“url2”); var g3 = GetGizmos(“url3”); return Content(“”); } public object GetGizmos(string uri) { using (WebClient webClient = new WebClient()) { return JsonConvert.DeserializeObject( webClient.DownloadString(uri) ); } […]

以一种formsMVC4上传多个文件

我正在尝试在一个表单上上传多个图像 @using (Html.BeginForm(“Create”, “AdminRestaurants”, FormMethod.Post, new { enctype = “multipart/form-data” })) { Logo: FOH Logo: BOH Logo: MGM Logo: 我正试图用这个处理控制器上的表单 public ActionResult Create(IEnumerable files, RestaurantModel collection) { if (ViewData.ModelState.IsValid) { } } 目前,控制器上的files签名中没有任何内容。 只使用一个文件时,这似乎很有效 public ActionResult Create(HttpPostedFileBase file, EventsModel collection) 有人能指出我允许使用一个提交表单上传多个文件的方向吗?