Tag: asp.net mvc

括号中带有(attribute)的方法参数

我有一个来自KendoUI的代码示例。 public ActionResult Customers_Read([DataSourceRequest]DataSourceRequest request) { return Json(GetCustomers().ToDataSourceResult(request)); } private static IEnumerable GetCustomers() { var northwind = new SampleEntities(); return northwind.Customers.Select( customer => new CustomerViewModel { CustomerID = customer.CustomerID, CompanyName = customer.CompanyName, ContactName = customer.ContactName, … }); } 这个例子工作正常。 我对Customers_Read方法中的[DataSourceRequest]感到困惑… 当我删除(?属性?) [DataSourceRequest] ,请求的属性为空(null)…(它们没有绑定) – >结果:filter不起作用.. 什么是[DataSourceRequest] ? 这就像属性属性? 代码示例 – > IndexController.cs代码示例

Mvc 4添加带脚手架的控制器给出错误 – “无法检索元数据……”

尝试使用CRUD操作和EF添加控制器时出现以下错误: 无法检索LetLord.Models.Tenant的元数据。 不支持使用相同的DbCompiledModel为不同类型的数据库创建上下文。 而是为正在使用的每种类型的服务器创建单独的DbCompiledModel。 添加Controller对话框设置: 模板:使用EF的具有读/写操作和视图的MVC控制器。 模型类:租户(LetLord.Models) 数据上下文类: LetLordContext(LetLord.Models) 我已经看到类似的问题/问题,并尝试了提供的解决方案,但我无法让它工作。 我的连接字符串: 在LetLordContext.cs我没有默认的构造函数。 在我调用的InitializeSimpleMembershipAttribute.cs类中 WebSecurity.InitializeDatabaseConnection(“LetLordContext”, “UserProfile”, “UserId”, “UserName”, autoCreateTables: true); 我尝试过的: 如不同问题中所述更改我的提供商名称。 删除连接字符串并将其注释掉。 删除并重新安装entity framework。 确保我已安装SQL Server CE 4.0。 在subversion上恢复到我的项目的早期版本。 我仍然不知所措,所以任何帮助都会非常感激。

使服务层可以访问对象,而不在MVC4应用程序中作为参数传递

我正在构建一个多租户MVC应用程序,其中有一个应用程序池和单个数据库。 我有一个租户表,我的每个模型都有一个TenantId标识。 每个租户都有一个字符串“Url”,用于标识用于访问该租户数据的完整URL。 我可以通过以下(粗略近似)从我的BaseController访问它: HttpRequest request = HttpContext.Current.Request; Uri requestUrl = request.Url; _tenant = _tenantService.GetTenantByUrl(requestUrl); 现在,我需要将租户传递到服务层以执行业务逻辑。 我可以这样做的一种方法是跨所有服务(约200种方法)查看每个方法并添加一个Tenant参数。 我必须触及每个服务层的调用 ,以及每个服务层方法 。 这样可以工作,但这很繁琐并且使代码混乱。 例如,我以前的一种方法: public void DeleteUserById(int userId) { using (var db = CreateContext()) { var user = db.Users.FirstOrDefault(u => u.UserId.Equals(userId)); InternalDeleteUser(db, user); } } 之后(如果我通过租客): public void DeleteUserById(Tenant tenant, int userId) { using (var db = […]

如何使用HtmlHelper类 – ASP.NET MVC显示图像

我目前仍然坚持使用HtmlHelper类显示图像的问题。 这就是我所拥有的。 我有一个自定义的HtmlHelper类,它应该显示一个图像: public static string Images(this HtmlHelper helper, ……){ var writer = new HtmlTextWriter(new StringWriter()); byte[] bytearray = … // some image byte array retrieved from an object. // begin html image tag – this is where the problem is writer.AddAttribute(HtmlTextWriterAttribute.Src, url.Action(“GetPhoto”, “Clinical”, new { image = bytearray })); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); // end of […]

我的控制器中的非静态字段,方法或属性需要对象引用

可能重复: 非静态字段,方法或属性需要对象引用 我有一个非静态字段: private IDictionary _mappings = new Dictionary(StringComparer.InvariantCultureIgnoreCase) 我想在这样的动作中使用: public static string GetMimeType(string extension) { //… return _mappings.TryGetValue(extension, out mime) ? mime : “application/octet-stream”; } 编译器抱怨: return语句中的非静态字段,方法或属性需要对象引用。 我该如何参考这个字段?

ASP.NET MVC 4 – 401访问被拒绝

我用一个get命令创建了一个非常简单的WebAPI,只返回一个整数。 当我在浏览器中运行它时,它工作得很好。 但是当我尝试从解决方案中的另一个项目有问题地访问时,我得到以下内容: 2013-05-15 17:46:47,811 – 响应:StatusCode:401,ReasonPhrase:’Access Denied’,版本:1.1,内容:System.Net.Http.StreamContent,Headers: { 日期:2013年5月15日星期三16:46:47 GMT 服务器:Microsoft-IIS / 5.1 WWW-Authenticate:谈判 WWW-Authenticate:NTLM 连接:关闭 内容长度:4431 内容类型:text / html } 这是我正在使用的代码。 真的很感激任何帮助。 var client = new HttpClient { BaseAddress = new Uri(_uri) }; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”)); var response = client.GetAsync(string.Format(“api/Config/{0}”, id)).Result; if (response.IsSuccessStatusCode) { var res = response.Content.ReadAsAsync().Result; return res; }

如何在ASP.NET MVC上执行Azure Active Directory单一登录和表单身份validation

我们有MVC 4使用表单身份validation和Web API基本身份validation开发的遗留系统(到目前为止还没有OWIN)。 现在我们有很多客户想要在我们的系统中进行单点登录,因此我们使用Azure Active Directory(AAD)来存储客户端的用户。 现在情况是我们想要修改登录工作流程以适应AAD。 登录页面没有任何变化,我们检查用户是否存在于我们的系统上(使用我们的数据库),它允许用户访问。 如果没有,我们继续在AAD上检查用户,在这种情况下我们不想重定向到Azure登录页面。 我已经完成了大量的阅读,但还不清楚如何做到这一点? 我们还考虑升级到MVC 5,以便在情况良好的情况下使用OWIN中间件身份validation。

Nuget MVC PagedList页面链接无法正常工作

我有一个简单的ViewModel,我想将其显示为列表页面。 我按照本教程分页我的列表页面。 Heere是我的控制器代码,它返回带有IPagedList的视图 public ViewResult Index(int? page) { List projectList = new List(); foreach (Project project in db.Projects) { projectList.Add(ProjectViewModel.ConvertToProjectViewModel(project)); } var pageNumber = page ?? 1; return View(projectList.ToPagedList(pageNumber, 3)); } 以下是我的视图,也可以使用寻呼机渲染正确呈现: @using PagedList.Mvc; @using PagedList; @model PagedList.IPagedList $(function() { $(“div.progressbar2”).progressbar({ value: 92 }); $(“div.progressbar”).each(function () { var element = this; $(element).progressbar({ value: parseInt($(element).attr(“data-last-value”)), }); […]

ListBox为了不让我选择多个项目MVC

当我运行代码时,我一次只能选择一个项目,这很奇怪,因为’ListBoxFor()’用于选择多个项目,所以我想要的是: 选择多个项目 查看(Index.cshtml): @Html.ListBoxFor(m => m.DropDownItems, new MultiSelectList(Repository.DDFetchItems(), “Value”, “Text”, Model.DropDownItems)) Model(ModelVariables.cs): public class ModelVariables { public List DropDownItems { get; set; } } public static class Repository { public static List DDFetchItems() { return new List() { new SelectListItem(){ Text = “Dogs”, Value = “1”, Selected = true}, new SelectListItem(){ Text = “Cats”, Value […]

单击时在主视图中加载局部视图

当用户单击链接时,我正在尝试获取部分视图以加载当前视图,但它会继续加载部分视图,而不是加载到同一视图上。 不知道我错过了什么。 主视图控制器 public PartialViewResult MonitorDetail(MonitorType mType) { return PartialView(“MonitorDetail”, mType); } 主视图 @Ajax.ActionLink(“SQL Cluster Online “, “MonitorDetail”, “NOCCon”, MonitorType.AHSSQLCluster, new AjaxOptions() { UpdateTargetId = “monitorDetail” }) @(Model.SQLClusterOnline ? “Online” : “Offline”) 部分视图 @model PAL.Intranet.MonitorType You choose @Model.ToString() 还告诉我mType是null但是我在ActionLink中传递它是MonitorType所以我把它添加为可空的所以我可以尝试找出第一个问题然后继续处理第二个问题。