Tag: asp.net mvc

通过MVC Web App中的ViewModel调用Graph API

我正在尝试使用Graph API来创建我自己的Web应用程序导航栏的“用户配置文件”部分。 为此,我对我的UserProfile控制器的GetUser操作进行了AJAX调用: $.ajax({ type: “GET”, url: “@Url.Action(“GetUser”, “UserProfile”, null)”, dataType: “json”, success: function (data, status, xhr) { console.log(“in AJAX”); $(“.img-circle, .user-image”).attr(“src”, data.Picture); $(“#user-menu-expanded”).text(data.User.DisplayName + ” – ” + data.User.JobTitle); $(“#user-menu-spinner”).remove(); console.log(data); }, error: function (ex) { console.log(ex); } }); 控制器将我的UserProfileViewModel作为Json返回,我用它来替换上面的元素,如我的AJAX成功函数所示。 UserProfile控制器: public JsonResult GetUser() { var model = new UserProfileViewModel(); return Json(model, JsonRequestBehavior.AllowGet); } […]

使用MVC 5 RouteArea属性时,无法找到默认区域视图

我有一个有多个领域的MVC5项目。 我有一个默认区域(名为Default ),在其中有一个默认控制器(名为DefaultController )。 这可以在现场路线上访问。 [RouteArea] public class DefaultController : Controller { [Route] public ActionResult Index() { return View(“Index”); } } public static void RegisterRoutes(RouteCollection routes) { routes.LowercaseUrls = true; routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “Default”, action = “Index”, id = UrlParameter.Optional }, namespaces: new[] { “MyProject.Areas.Default.Controllers” } […]

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值 – 不使用DateTime2

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值。 我的应用程序最近开始显示此错误,这很奇怪,因为它工作得更早。 我没有在“Word”模型中更改与DateTime相关的任何内容。 当我向项目中添加新模型时,它就开始发生了。 我尝试编辑数据时出现服务器错误。 创建和删除工作正常。 控制器: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = “ID,UsersLanguage,OtherLanguage,Notes”)] Word word, int idOfCollection) { if (ModelState.IsValid) { db.Entry(word).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction(“Index”, new { idOfCollection = idOfCollection }); } return View(word); } 模型: using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Web; namespace WebLanguageTeacher.Models.MyDatabase […]

生成报告时,不能像方法一样使用不可调用的成员“文件”

我在之前的项目中使用了一种生成报告的方法,并尝试在新项目中使用相同的方法。 但是,我遇到“非invocable成员’文件’不能像方法一样使用”错误和文件无法识别。 通过查看文件的引用,它似乎是上一个项目中的FileContentResult Controller.File() ,但是新项目中的System.IO.File() (即使我使用System.IO删除;来自引用行,我遇到“名称’文件’在当前上下文中不存在”错误)。 有什么想法解决这个问题吗? public static FileResult GenerateReport() { EmployeeTableAdapter ta = new EmployeeTableAdapter(); EmployeeDS ds = new EmployeeDS(); ds.Employee.Clear(); ds.EnforceConstraints = false; ta.Fill(ds.Employee); ReportDataSource rds = new ReportDataSource(); rds.Name = “ReportingDataSet”; rds.Value = ds.Employee; ReportViewer rv = new Microsoft.Reporting.WebForms.ReportViewer(); rv.ProcessingMode = ProcessingMode.Local; rv.LocalReport.ReportPath = System.Web.HttpContext.Current. Server.MapPath(“~/Reporting/Employee.rdlc”); rv.LocalReport.EnableHyperlinks = true; rv.LocalReport.EnableExternalImages = […]

如何使用对象上下文在Entity Framework中使用批量插入?

我想使用Object Context而不是DbContext来调用entity framework6中的批量插入。我该怎么做? 我想做点什么 readonly ObjectContext obContext : public void BulkInsert(IEnumerable items) where T : class, new() { obContext.BulkInsert(items); } 但我无法做到这一点。

参数超出EF中的db.SaveChanges()范围

我正在开发一个带有Entity Framework的MVC应用程序。 我使用数据库第一种方法,在我的数据库中有一个数字字段: [N15] NUMERIC (1, 1) NULL, 我收到错误的代码是: public ActionResult allsave(VchrViewModel v) { List chklist = this.dt; if (br.vchrbalance(chklist) == true) { trm = v.master; trm.S100 = vt; var n = db.TrMs.Max(x => x.N100); trm.N100 = n + 1; trm.S104 = getmonth(trm.D1.ToString()); trm.S103 = getyear(trm.D1.ToString()); db.TrMs.Add(trm); db.SaveChanges(); seid = 0; var s = this.dt; […]

如何在视图中使用MVC角色权限?

如何根据角色中的一组用户在视图中应用权限。 例如,如何为角色编辑器显示“创建文章”按钮并将其隐藏为角色Reader?

MVC日期时间模型绑定

我在我的应用程序中使用2个kendo日期选择器: Start Date: @(Html.Kendo().DatePickerFor(m=>m.StartDate)) End Date: @(Html.Kendo().DatePickerFor(m=>m.EndDate)) Show 单击该按钮时,我会读取这些日期选择器客户端的值,并对API控制器进行POST。 我遇到的问题有时是DateTime参数被错误地解析,我使用的是en-GB文化(在我的web.config中指定),但是给定日期为2014年3月1日(3月1日),当值为由模型绑定器处理,它被解释为03/01/2014(1月3日)。 我的javascript如下: function getGraphData() { var startDatePicker = $(“#StartDate”).data(“kendoDatePicker”); var endDatePicker = $(“#EndDate”).data(“kendoDatePicker”); var param = { StartDate: kendo.toString(startDatePicker.value().toLocaleDateString(), “dd/MM/yyyy”), EndDate: kendo.toString(endDatePicker.value().toLocaleDateString(), “dd/MM/yyyy”) }; // Do post here } 我的模型如下: public class DateRangeParam { #region Constructors and Destructors /// /// Initializes a new instance of the […]

用户通过“记住我”退出

我似乎很难理解Identity 2.0和cookies的工作方式。 ASP.NET MVC 5。 我想要的是:如果用户登录并且他选中了“记住我”复选框,我不希望他永远退出..但会发生的是:用户在一定时间后退出。 如果用户在时间跨度之前关闭浏览器,则“记住我”function将起作用。 (当他重新打开网站时,他仍然登录。) 这是我登录的代码: public async Task Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return View(model); } // Require the user to have confirmed their email before they can log on. var user = await UserManager.FindByNameAsync(model.Email); if (user != null) { if (!await UserManager.IsEmailConfirmedAsync(user.Id)) { await SendEmailConfirmationTokenAsync(user.Id); ModelState.AddModelError(“”, “Gelieve […]

如何更改异步方法调用以防止强制异步调用堆栈

如果我需要调用一个方法,在内部调用一些异步方法,作为一个fire and forget操作,我怎么能阻止这个调用强制“async”需要用完调用栈来说… MVC控制器? 例如:我的MVC控制器(非异步)调用业务层方法,该方法又调用Windows Azure Service Bus QueueClient.SendAsync(BrokeredMessage),将消息放入队列中,但不需要等待它完成。 通常,在调用此控制器操作时,编译器将抛出一个错误,指出此时无法启动异步操作。 我知道不是等待或只是调用SendAsync()方法,我可以使用ContinueWith()跟进它,以便在异步操作的回调上执行代码,但我被告知这不是一个正确的解决方案。 (请参阅对控制器中调用异步方法的响应) 有人会关心如何解决这种情况的最佳方法吗? 并告诉我为什么ContinueWith()方法不正确?