Tag: asp.net mvc

MVC使动作链接执行提交

我目前正在尝试进行html提交,但是使用MVC辅助方法ActionLink,因为我不希望它是一个按钮,我希望它是一个带下划线的链接,就像我页面上的其余部分一样。 这就是我目前所拥有的 这会跳回到我的操作,但是所有已检出要删除的域都不会被回送。 (如果我使用它, 它工作正常,所以我知道提交或检索复选框没有问题) 这是我到目前为止所拥有的…… >“%> 指数 Domain List | | **Delete Selected** | dataKeys.Add(c => c.DomainId)).DataKeys(dataKeys => dataKeys.Add(c => c.Name)) .Columns(columns => { columns.Template(o => { %> { %> <input type='checkbox' checked="checked" id='’ name=’DeleteIds’ value=” /> <input type='checkbox' id='’ name=’DeleteIds’ value=” /> o.DomainId); columns.Bound(o => o.Name); columns.Bound(o => o.SiteId); columns.Bound(o => o.ScrubAndRedirect); columns.Bound(o […]

使用JavaScript构建MVC应用程序的相对URL

我无法让C#和JavaScript / jQuery在这里玩得很好。 我有一个淘汰视图模型,普通的旧javascript对象…它的一个属性/方法触发了.ajax()调用,而url参数是使用它的一些其他属性值(javascript变量)构建的。 这完全包含在JavaScript中时可以正常工作,但是当作为应用程序部署到IIS时,相对路径会被清除。 在MVC3中,我通常会使用类似@Url.Action东西,让服务器端构建地址……但同样,诀窍是C#不知道更改的javascript值。 码: var viewModel = { vendors: ko.observableArray([]), count: ko.observable(10), page: ko.observable(1), filterText: ko.observable(“”), submit: function () { $.ajax({ // works fine, until deploy when it is no longer a site relative URL url: ‘vendors/’ + viewModel.count() + ‘/’ + viewModel.filterText(), // does not work, because C# is unaware of […]

ASP.NET MVC 3 Razor:将数据从视图传递到控制器

我是.NET的全新东西。 我有一个带有HTML表单的非常基本的网页。 我希望’onsubmit’将表单数据从View发送到Controller。 我已经看过类似的post,但没有一个涉及新的Razor语法的答案。 如何处理’onsubmit’,以及如何从Controller访问数据? 谢谢!!

如何修改Web API应用程序的默认允许响应大小设置?

我有一个返回事件列表的Web API方法: public HttpResponseMessage GetEvents() { … } 我的服务使用DataContractSerializer(对于xml)和DataContractJsonSerializer(对于JSON)支持Xml和JSON响应。 响应大小可能像30MB。 IIS中托管的ASP.NET Web API中默认允许的响应大小是多少? 如何修改默认设置? 返回这些大数据的最佳做法是什么(虽然它不是那么大)? 我应该压缩回复吗? 此外,我们可能每秒收到一个请求。 谢谢

动态添加角色以授权控制器的属性

我需要启用我的管理员用户即时更改用户的访问权限,以便他们可以创建新角色并为这些角色添加权限。 我希望能够创建一个Authorize属性来粘贴在我可以从数据库添加角色的控制器类之上,这样我就不必在开发过程中“设置”角色,如[Authorize(Roles=”Role1, Role2″)]等 所以像[Authorize(Roles = GetListOfRoles()] 我发现了这个问题 – ASP.NET MVC授权用户有许多角色 ,它们做了类似的事情,但也许有办法改变它,以便从数据库中获取权限/角色列表?

MVC5 Ninject绑定和HttpContext

我正在尝试建立一个新项目,并且我添加了一个新类MembershipService ,它需要在它的构造函数中传递HttpContext 。 在之前的项目中,我使用了代码 private static void RegisterServices(IKernel kernel) { kernel.Bind() .To() .InRequestScope() .WithConstructorArgument(“context”, HttpContext.Current); …. } 然而,在新项目中,我正在使用Ninject Modules,在对StackOverflow和Google进行一些搜索之后,我提出了以下代码:public class ServiceHandlerModule:NinjectModule { public override void Load() { Bind() .To() .WithConstructorArgument(“context”, ninjectContext=> HttpContext.Current); this.Kernel.Bind(x => { x.FromAssemblyContaining(typeof(NinjectWebCommon)) .SelectAllClasses() .Where(t => t != typeof(MembershipService)) .BindDefaultInterface(); }); this.Kernel.Bind(x => { x.FromAssemblyContaining() .SelectAllClasses() .Where(t => t != typeof(MembershipService)) .BindDefaultInterface(); […]

扩展MVC RequiredAttribute

我有一个ExtendedAttribute的扩展类,它不会发回错误消息。 如果我在调试器中检查它,文本就没问题了。 public class VierRequired : RequiredAttribute { public VierRequired(string controlName) { //… } public string VierErrorMessage { get { return ErrorMessage; } set { ErrorMessage = value; } } // validate true if there is any data at all in the object public override bool IsValid(object value) { if (value != null && !string.IsNullOrEmpty(value.ToString())) […]

为什么我不能在两个使用StateServer的Web应用程序之间共享会话状态? 我错过了什么?

我无法使用Session StateServer获得两个相同的ASP.NET MVC应用程序来共享同一个Session。 我试图这样做的原因是我们最终将在3个需要共享相同状态的Web服务器上部署此应用程序。 我们需要使用StateServer,因为我们正在尝试最小化数据库对非数据相关存储的使用。 设置: 我已经将相同的代码库部署到http:// localhost / App1和http:// localhost / App2 两者都具有相同的Web.Config文件,具有以下内容: //stateConnectionString=”tcpip=192.168.1.52:42424″ /> // also doesn’t work 我用这个工具生成这些机器密钥 考试: 我将以下内容放入我的一个控制器中以测试它是否正常工作: ViewData[“mode”] = requestContext.HttpContext.Session.Mode.ToString(); string timestamp = DateTime.Now.ToString(); if (requestContext.HttpContext.Session[“timestamp”] == null) { requestContext.HttpContext.Session[“timestamp”] = timestamp; } ViewData[“timestamp”] = requestContext.HttpContext.Session[“timestamp”].ToString(); ViewData[“realtime”] = timestamp; 在视图中有这个: Mode: Time: real time: 结果: 对于这两个部署,当页面首次加载时,我可以看到模式是StateServer,时间戳设置为与实时值相同的时间。但是,如果这样做,只有第一页应该具有相同的时间实时价值。 第二个页面加载应该从StateServer读取,因为该时间戳值不再为null,并显示该时间值。 但相反,它再次显示实时价值。 刷新页面时,时间戳保持不变,实时值始终更新。 […]

导出到Excel – LINQ – 在.ToList()中包含ForeignKey值?

我试图通过EPPlus库将Excel导出function添加到我的MVC5 / Code-First Entity Framework应用程序。 在我的导出View我已经使用每个INV_Assets模型属性填充了MultiSelectList 。 然后将它们传递到我的ExportController以指定要导出模型的哪些字段。 我已经获得了Headers(通过MultiSelectList )加载到Excel的Row1和来自我的INV_Assets模型的数据,以通过EPPlus LoadFromCollection()导出到excel,如下所示(示例): 代码 : [HttpPost] public ActionResult ExportUsingEPPlus(ExportAssetsViewModel model) { ExcelPackage package = new ExcelPackage(); var ws = package.Workbook.Worksheets.Add(“TestExport”); var exportFields = new List(); foreach (var selectedField in model.SelectedFields) { // Adds selected fields to [exportFields] List exportFields.Add(model.ListOfExportFields.First(s => s.Key == selectedField).Value); } { ws.Cells[1, i […]

在ASP.NET Core 2.0 Web Api中返回“raw”json

AFAIK在ASP.NET Core Web Api中返回数据的标准方法是使用IActionResult并提供例如OkObject结果。 这适用于对象,但如果我以某种方式获得了JSON字符串,我只想将该JSON返回给调用者? 例如 public IActionResult GetSomeJSON() { return Ok(“{ \”name\”:\”John\”, \”age\”:31, \”city\”:\”New York\” }”); } ASP.NET Core在这里做的是,它接受JSON字符串,并再次将其包装到JSON中(例如,它转义为JSON) 使用[Produces(“text/plain”)]返回纯文本可以通过提供“RAW”内容来工作,但它也会将响应的内容类型设置为PLAIN而不是JSON。 我们在控制器上使用[Produces(“application/json”)] 。 如何在没有转义的情况下将JSON作为普通的JSON内容类型返回? 注意:获取JSON字符串无关紧要,它可能来自第三方服务,或者存在一些特殊的序列化需求,因此我们希望进行自定义序列化而不是使用默认的JSON.NET序列化程序。