Tag: asp.net core

确认删除模式/对话框在部分视图中使用时不起作用

案例1 :当点击Delete 1按钮时,会弹出Bootstrap的modal dialog,当您单击该弹出窗口的Delete按钮时,如下所示, jquery代码正确地在Chrome浏览器的控制台窗口中写入Test: id1 。 情况2 :但是当您使用局部视图渲染相同的html时, jquery代码(如下面的case 2所示)不会向Chrome浏览器的控制台窗口写入任何内容。 我认为它可能与Case 2的主视图中的id = DeleteBtnParentID有关。 注意 :两种情况下jqueries之间的jqueries在于,在Case 2我使用事件委派,而在Case 1我没有必要。 案例1 :以下工作。 查看 (所有本身没有局部视图) Delete1 Delete2 Delete3 × Delete Warning Are you sure? Delete Cancel @section Scripts{ $(document).ready(function () { $(‘#DeleteBtnID’).on(‘click’, function (event) { console.log(‘Test: ‘ + $(this).attr(‘value’)); }); $(‘#myModal’).on(‘show.bs.modal’, function (e) { var btnValue = […]

如何在回发ASP.Net Core后保持标签处于活动状态

我有一个视图,其中包含一组选项卡,每个选项卡呈现不同的局部视图。 在阅读了这些引导选项卡的文档和W3Schools示例之后,我无法找到使活动选项卡在Postback上保持活动状态的方法。 我见过的所有示例都使用旧版本的.Net,也不适用。 这是我的代码。 我的控制器动作: public IActionResult DisplayCharts(DashboardChartsByMonthModel model) { //…do stuff model.MonthOrQuarterChart = monthChart; model.UserChart = userChart; return View(model); } 在视图@Scripts部分中: $(function(){ var hash = window.location.hash; hash && $(‘ul.nav a[href=”‘ + hash + ‘”]’).tab(‘show’); $(‘.nav-tabs a’).click(function (e) { $(this).tab(‘show’); var scrollmem = $(‘body’).scrollTop() || $(‘html’).scrollTop(); window.location.hash = this.hash; $(‘html,body’).scrollTop(scrollmem); }); }); $(‘a[data-toggle=”tab”]’).on(‘shown.bs.tab’, function(e) { […]

将包含多个对象的表单提交给Controller

问题: 我有一个视图,有多个tab-pane。 每个选项卡窗格对应一个Store 。 在每个选项卡窗格( Store )中,有一个表,其中包含分配给该Store的所有Devices信息。 每个Device (每个Device属于一Machine )的信息连续显示。 目前每行都包装成一个单独的表格,但这可能会有所变化。 我正在寻找一种方法将每行保存为独立对象,同时将它们全部发送到Controller。 我知道的: 我是ASP.NET Core的新手,但我可以放弃发送多个表单,因为我认为这是不可能的。 但是,我不知道如果我发送包含在单个表单中的所有信息,如何通过每个元素进行迭代并分别保存每个元素。 该设计: 控制器: public async Task Index() { var Tiendas = await _context.Stores.Where(t => t.Usuario == User.Identity.Name) .Include(t => t.Machines).ThenInclude(t=>t.MachineTypes).ThenInclude(t=>t.MachineFamilies) .Include(t => t.Machines).ThenInclude(t => t.Devices) .Include(t => t.Machines).ThenInclude(t => t.MachineTypeIncomes) .Include(t => t.HechosLiquidadors).ToListAsync(); SalesIndexData Liquid = new SalesIndexData() { StoreL […]

用js发布到api(asp.net core mvc)

您好我使用DTO作为单个值(Id)并尝试使用ApiController发布到Db但是在按钮单击时我不断收到错误400,这是指xhr.send错误。 (即时通讯使用asp.net核心2.1)代码:@section Scripts { $(document) .ready(function() { $(“.js-toggle-HandShake”) .click(function(e) { var button = $(e.target); console.log(button.attr(“data-QuettaOfferId”)); //Value=24 >> OK $.post(“/Api/HandShake/”, { QuettaOfferId: button.attr(“data-QuettaOfferId”) }) // Error in > POST https://localhost:44339/Api/HandShake/ 400 () & //in jquery>> xhr.send( options.hasContent && options.data || null ); .done(function() { button .text(“Chousen”); }) .fail(function() { alert(“Something failed”); }); }); }); 和ApiController代码 [Microsoft.AspNetCore.Mvc.Route(“api/[controller]”)] […]

如何使用JQuery将文件上传到MVC VNext webserver?

我希望能够将文件发送到MVC VNext网络服务器。 我读过这篇文章 ,它的确很有效。 但是如何在不使用 情况下上传文件? 原因是因为我想在不加载新页面的情况下上传文件。 我读过这篇文章 ,但似乎没有用。 参数IFormFile总是为null。

试图从MVC控制器获取JSON并获取错误网:: ERR_INCOMPLETE_CHUNKED_ENCODING

我试图从我的控制器获取JSON以在jQuery中使用。 我有以下代码。 当我在浏览器中访问URL时,它返回json,所以我知道控制器正在工作……但我得到以下内容 GET http:// localhost:52802 / Checkout / GetContactById?id = 1 net :: ERR_INCOMPLETE_CHUNKED_ENCODING 客户端jQuery var theUrl = window.location.origin + ‘/Checkout/GetContactById?id=’ + contactId; $.ajax({ url: theUrl, type: “GET”, success: function (result) { alert(“Success”); }, error: function (error) { alert(“Error”); } }); 服务器端控制器 [HttpGet] public IActionResult GetContactById(int id) { Contact contact = this.checkoutDataAccess.GetContactById(id); return Json(contact); […]

查看组件未在第二次提交时检测/返回Ajax请求

我有一个非常奇怪的问题,我的ajax post请求在页面加载后第一次正常工作但是如果我再次提交我的表单而不进行页面刷新,那么内容将返回到整个页面而不是仅仅更新DIV 。 我花了几天时间寻找答案并通过反复试验,我怀疑问题与Request.Headers[“X-Requested-With”]在第二次提交时是空的有关。 请注意,我将视图组件返回到ajax请求,而我的ajax代码位于单独的js文件中。 查看组件(这包含在ajax请求返回时被提交并被替换的表单。在页面加载或刷新后它可以正常工作) @model MSIC.Models.ClientViewModels.VisitMovementViewModel @{ bool inProgress = (bool)ViewData[“inProgress”]; } Action @if (Model.Buttons != null) { foreach (var item in Model.Buttons) { if (item.beforeDivider) { @item.Text } } foreach (var item in Model.Buttons) { if (!item.beforeDivider) { @item.Text } } } Ajax请求位于单独的JS文件中(调试时,所有内容都按预期第一次运行,但是在返回View Component之后第二次提交表单成功,错误,完成函数永远不会触发,返回的数据在整页) function AjaxSubmit(form) { $form = $(form); var replaceID […]

使用ajax发布视图模型,其中包含MVC Core中的IFormFile属性

我正在尝试使用jquery AJAXpost在MVC核心中发布一个简单的viewmodel,但IFormFile属性似乎在模型上为null。 我有以下视图模型: [Required] public IFormFile File { get; set; } [Required] [Display(Name = “Owner”)] public int DocumentOwner { get; set; } [Required] [Display(Name = “Document Type”)] public int DocumentTypeId { get; set; } 然后我在我视图底部的脚本中使用jQuery ajaxpost: $(“form”).submit(function (e) { e.preventDefault(); var model = $(‘form’).serialize(); $.ajax({ type: “POST”, url: “/Client/AddDocument”, contentType: false, processData: false, data: model, […]

表单数据未在asp.net核心mvc控制器模型中序列化

C#模型类 public class SubCategoryTwoViewModel { public long Id { get; set; } public string SubCatTwoName { get; set; } public CategoryViewModel Category { get; set; } public SubCategoryOneViewModel SubCatOne { get; set; } public string PictureUrl { get; set; } public List File { get; set; } public UserViewModel AddedBy { get; set; } public […]

JS Fetch API无法使用具有Authorize属性的ASP.NET Core 2控制器

我在客户端有以下代码: fetch(“/music/index”, { headers: { “Content-Type”: “application/json” } }) .then(response => { if (!response.ok) { throw response; } return response.json(); }) .then(json => { console.log(“Done! It’s all good”); }) .catch(response => console.log(response)); 不幸的是,这甚至没有到达MusicController (服务器端),它看起来如下(简化以说明要点): [Authorize] public class MusicController : Controller { public async Task Index() { IEnumerable songs = await _songsRepository.GetAll(); return Json(songs); } } […]