Tag: asp.net mvc

发送异步电子邮件

我在MVCMailer中使用ASP.NET MVC 3,我尝试使用SendAsync发送电子邮件,但实际上它还需要更长时间。 所以我试图像下面的代码一样使用Task.Factory: var task1 = Task.Factory.StartNew( state => { var mail = new UserMailer(); var msg = mail.Welcome(“My Name”, “myemail@gmail.com”); msg.SendAsync(); }); task1.Wait(); 问题是,MVCMailer需要HttpContext,但在这个任务中我得到了HttpContext Null。 如何发送Async电子邮件?

如何更改默认的ASP.NET MVC Web API媒体格式化程序?

我有一个Web API项目,它返回一些产品数据。 它根据请求的Accept标头(JSON / XML)正确协商返回类型。 问题是,如果没有指定Accept头,则返回JSON,但我希望它默认返回XML。 如何更改Global.asax中的内容协商默认值?

在.NET 4.0中,WebGrid + Paging + Sorting + Filtering中的filter丢失了

我已经实现了一个WebGrid。 排序,分页和过滤不能一起使用。 它们在您单独使用时起作用。 当您将三者结合使用时,过滤不起作用。 症状: 过滤结果集,然后排序。 要么 过滤结果集,然后转到下一页。 在这两种情况下,filter都会丢失。 但它确实是页面和排序。 在后面的代码中:当通过排序或分页调用action方法时,为每个filter参数显示null。 通过filter调用操作方法时,filter参数会通过。 这告诉我,当你开始排序或分页时,它没有提交表单。 public ActionResult MyPage(int? page, int? rowsPerPage, string sort, string sortdir, string orderNumber, string person, string product) 我在SO和其他地方环顾四周。 有很多例子和人们都在询问如何做一个或另一个或全部三个。 但我只看到一个与我的问题 ,所以我在这里发布。 (他也没有解决) 我的页面实现如下: @using (Ajax.BeginForm(“MyPage”, null, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = “myGrid” }, new { id = “filter” })) { […]

Asp.Net mvc,张贴json?

我的iphone客户端将以下json发布到我的mvc服务。 从html表单发布数据时,它会自动将表单数据转换为UserModel并将对象传递给我的Create方法,但是当我从iphone发送请求正文中的JSON字符串时,它返回为null。 从JSON到Object的转换最干净的解决方案是什么。 我宁愿不为不同的客户端创建多个方法,所以我试图在iphone和mvc客户端上使用相同的方法。 我的要求的身体: { “firstName” : “Some Name”, “lastName” : “Some Last Name”, “age” : “age” } 我的模型和行动结果 public class UserModel { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } } [HttpPost] public […]

在MVC4中,如何一次保存多行编辑?

我可以找到MVC4应用程序的每个示例都有一次编辑处理一行数据。 它显示所有数据行,每行都有一个编辑,可以将您带到另一个页面,并允许您编辑该行。 我想要做的是显示行中的所有数据元素,而不是让用户必须在每一行上单击EDIT,所有行的数据点都已经在用户可以直接更新的文本框中。 并且页面上只有一个SAVE可以立即保存所有更新/编辑。 如何设置我的MVC应用程序来支持它?

MVC 4 – 多对多关系和复选框

我正在使用ASP.NET MVC 4和Entity Framework。 在我的数据库中,我有一个表Subscription ,表示对公共传输的订阅。 这个订阅可以提供对几个公共交通公司的访问(因此订阅可能有1,2,3,……公司),然后这些表之间是多对多关系(我之间有一个中间表)。 我想允许通过一个页面创建订阅,该页面将包含一个字段的订阅金额和可用的公司复选框。 每个复选框代表一个现有公司(存储在我的数据库中的公司)。 有关如何做到这一点的任何想法? 我已经阅读了这个ASP.NET MVC多重复选框,但它并没有真正帮助。 编辑:这是我的表格图。

显示行打破asp.net mvc razor

我正在使用以下内容使文本输出在 HTML元素中输入换行符。 MvcHtmlString.Create(Model.Post.Description.Replace(Environment.NewLine, “”)) 有没有更好的方法来做到这一点?

返回匿名类型的简单方法(使用LINQ使MVC成为可能)

我想在使用LINQ(特别是LINQ到实体)时实现MVC。 我这样做的方法是让Controller使用LINQ生成(或调用生成的)结果集,然后将其返回到View以显示数据。 问题是,如果我这样做: return (from o in myTable select o); 所有列都从数据库中读取,即使是我不想要的列(可能是几十列)。 而且 – 更重要的是 – 我做不到这样的事情: return (from o in myTable select new { o.column }); 因为没有办法让匿名类型安全! 我知道确实没有好的,干净的方式在3.5中这样做( 这不干净……), 但4.0怎么样? 有什么计划,甚至提议? 没有像duck-typing-for-LINQ那样的东西,或类型安全的匿名返回值(在我看来,编译器当然应该能够做到这一点),似乎几乎不可能将Controller与View完全分开。

更改ASP.NET标识以使用现有数据库

我正在使用ASP.NET MVC 5和Database-First工作流程。 我已经在我现有的数据库中创建了身份表( AspNetUsers , AspNetRoles等),但是我在使注册和登录function正常工作时遇到了问题。 这是IdentityModels.cs类 public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext() : base(“MyConnectionString”) // I use “MyConnectionString” instead of “DefaultConnection” { } 这是来自web.config的EF连接字符串的样子 为了更好地衡量,这里是从edmx生成的上下文类 public partial class MyConnectionString : DbContext { public MyConnectionString() : base(“name=MyConnectionString”) { } 对我来说似乎都很好,它应该能够在数据库中创建用户但是我在登录或尝试分别注册时收到以下错误: 登录: 实体类型ApplicationUser不是当前上下文的模型的一部分 第73行:var result = await SignInManager.PasswordSignInAsync(model.Email,model.Password,model.RememberMe,shouldLockout:false); exception详细信息:System.InvalidOperationException:实体类型ApplicationUser不是当前上下文的模型的一部分。 注册: 实体类型ApplicationUser不是当前上下文的模型的一部分 第155行:var result […]

ASP.NET MVC中htmlAttributes的匿名类和IDictionary 之间的区别?

例如,如果检查这两个扩展方法,唯一的区别是htmlAttributes的类型,因此您可以通过两种不同的方式传递htmlAttributes: public static MvcHtmlString TextBoxFor( this HtmlHelper htmlHelper, Expression<Func> expression, IDictionary htmlAttributes); public static MvcHtmlString TextBoxFor( this HtmlHelper htmlHelper, Expression<Func> expression, object htmlAttributes); 并以下列方式之一使用它们: @Html.TextBoxFor(model => model.TagLine, new { @placeholder = “We live to make art.” }) @Html.TextBoxFor(model => model.TagLine, new Dictionary { { “placeholder”, “We live to make art.” } }) 我检查了MVC源代码,我知道在后台他们使用相同的方法,但是接受匿名对象的HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes)使用HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes)来使匿名对象成为字典。 在我看来,使用匿名对象的视图更清晰。 你们觉得怎么样? […]