Tag: ajax

如何在MVC 5中的单个Ajax POST请求中发送ViewModel和文件?

我有一个ASP.NET MVC 5应用程序。 我正在尝试使用Model数据发送POST请求,还包括用户选择的文件。 这是我的ViewModel(为简洁起见而简化): public class Model { public string Text { get; set; } public long Id { get; set; } } 这是控制器动作: [HttpPost] public ActionResult UploadFile(long userId, Model model) { foreach (string file in Request.Files) { // process files } return View(“Index”); } Html输入元素: 和JavaScript代码: $(‘#txtUploadFile’).on(‘change’, function (e) { var data = […]

如何处理长AJAX请求 – 发送响应但继续工作

我们使用jquery-ajax将指令集从浏览器发送到多层Web应用程序。 第一个组件(组件A,用C#编写)validation并将指令持久存储到数据库中,然后调用第二个组件(组件B,用Java编写,也通过HTTP调用),该组件在从指令中检索后对指令进行操作数据库。 浏览器客户端在提交作业后只通过组件A轮询rdbms表,因此在发送请求后它实际上已断开连接,并且不等待组件A的响应。 中间层(组件A)将成功消息返回给客户端以确认成功提交任务的最佳方式是什么,但仍然向请求处理程序(组件B)发出请求并释放其所有资源? 返回响应是页面的最终操作,因此在将其发送回浏览器之前,我们必须在另一个线程中执行某些操作。 我们考虑的另一个选择是在组件B中发生这种情况,其中任务处理程序向中间层发送回立即响应以确认请求,但随后继续在后台工作。 唯一的区别是我们产生额外线程来完成工作。 关于如何处理这个问题的任何好主意?

想要在我的按钮点击事件上上传多个文件

这是我的.aspx页面代码 .aspx.cs代码是 protected void OnUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) { string fileName = Path.GetFileName(e.FileName); AjaxFileUpload1.SaveAs(Server.MapPath(“~/uploads/” + fileName)); } protected void abc_Click(object sender, EventArgs e) { // need file upload on this click and also need to store some outer data in this click event } 如何在我自己的按钮点击事件上实现ajax多文件上传,因为我需要上传多个文件以及此按钮上的其他一些数据点击 我已经放置了控制html和.cs代码,它运行良好并且使用事件OnUploadComplete上传多个图像但我​​需要在abc_Click事件上传图像,以便单击我可以上传图像以及我也可以保存数据

在asp.net网站的更新面板中自动将文件上传到服务器

我在更新面板中有一个文件上传,还有一个上传按钮,用于将文件上传到服务器。 是否可以在不单击上传按钮的情况下上传文件? 我想删除上传按钮,并在从用户的机器中选择文件后立即上传文件 。 或者,有一个4秒计时器,然后调用upload_click来检查fileupload是否有文件。 如果没有更新面板内的按钮,我怎么能这样做? protected void Upload_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { //create the path to save the file to string fileName = Path.Combine(Server.MapPath(“~/Bulk Upload”), FileUpload1.FileName); //save the file to our local path FileUpload1.SaveAs(fileName); } }

如何在ASP.NET中保护AJAX请求?

我正在开发一个应用程序,我在其中显示网格中的产品。 在网格中有一个列具有禁用/启用图标,点击该图标后,我通过AJAX向我的页面manageProduct.aspx发出请求,以启用/禁用该特定产品。 在我的ajax请求中,我将productID作为参数传递,因此最终的ajax查询为as http://example.com/manageProduct.aspx?id=234 现在,如果有人(专业黑客或网络开发人员)可以获得此URL(很容易从我的javascript文件中获取),那么他可以创建一个将作为循环运行的脚本并禁用我的所有产品。 所以,我想知道有没有任何机制,技术或方法,如果有人试图直接执行该页面,它将返回错误(正确的消息“你没有被授权或其他东西”)否则如果页面从所需的页面执行,就像我显示产品列表的位置一样,然后它将正确地执行。 基本上我想保护我的AJAX请求,所以没有人可以直接执行它们。 在PHP中: 在php中,我的同事通过检查页面的refrer来保护这个PHP页面。 如下: $back_link = $_SERVER[‘HTTP_REFERER’]; if ($back_link ==”) { echo ‘You are not authorized to execute this page’; } else { //coding } 请告诉我如何在ASP.NET(C#)中使用相同或任何其他不同但安全的技术,我在我的应用程序中使用jQUERY来发出ajax请求。 谢谢

MVC .NET上的ajaxpost没有正确传递数组

我有一个简单的模式,使用select2从服务器获取产品列表。 用户可以多次选择产品,然后点击“确定”以优化搜索。 我的以下设置从模态中获取数据,并使用强类型视图模型对Controller操作执行ajax调用,该模型与JS尝试通过ajax调用发送的内容相匹配。 阿贾克斯: var exploreFilters = { “type” : exploreType, “products” : $(‘#s2id_select2-products’).select2(‘data’), “locations” : $(“#page-report__data”).data(“criteria__locations”), “companies” : $(“#page-report__data”).data(“criteria__companies”), “usertypes” : $(“#page-report__data”).data(“criteria__usertypes”), “groupusers” : $(“#page-report__data”).data(“criteria__groupusers”), “datestart” : $(“#page-report__data”).data(“criteria__datestart”), “dateend” : $(“#page-report__data”).data(“criteria__dateend”) }; $.ajax({ dataType: “html”, type: “POST”, url: “/Report/Group/FilteredView”, data: exploreFilters, success: function(html) { if($.trim(html) === “”) $targetSection.html(‘No data found. Please adjust your search […]

Telerik MVC Grid Ajax具有手动绑定function

我有一个使用ajax获取数据的Telerik MVC Grid,我想控制何时加载它。 这是我视图中的代码: @(Html.Telerik().Grid() .Name(“UserActionLoggingFollowedGrid”) .DataBinding(dataBinding => dataBinding.Ajax().Select(“SelectUserActionLogging”, “Report”, new { userTeamId = Model.UserTeamId, startDate = Model.StartDate, endDate = Model.EndDate }).OperationMode(GridOperationMode.Client)) .Columns(columns => { columns.Bound(x => x.FullName).Hidden(); columns.Bound(x => x.ActionName); columns.Bound(x => x.ActionCount); }) .Pageable(page => page.PageSize(20)) .Sortable() .Groupable(grouping => grouping.Groups(groups => groups.Add(c => c.FullName)).Visible(false)) .Filterable() .Localizable(“fr-FR”) .HtmlAttributes(new { @class = “grid-style static-grid-style” }) […]

如何在MVC中的动作结果中返回PDF

我有点问题让我解决这个问题。 我有一个ajax调用,应该呈现一个加载PDF的iframe。 PDF是使用托管在其他环境中的Apache FOP生成的。 到目前为止我所拥有的是: 在控制器动作中(iFrame指向的src元素),代码片段为: var targetStream = new MemoryStream(); using (var response = FOPrequest.GetResponse()) // response from FOP { using (var stream = response.GetResponseStream()) { stream.CopyTo(targetStream); } } return new FileStreamResult(targetStream, “application/pdf”); 但是,这不能按预期工作。 将按预期填充流,但PDF不会在iFrame中呈现。 我得到一个Http响应代码200(OK)。 我会感激任何帮助。

用户会话ID作为Ajax调用中的参数

我已经创建了一个HttpHandler ,我将使用jquery-Ajax调用。 这个HttpHandler将访问数据库并检查与当前被烧毁的用户相关的内容 。 通过使用Session,使用名为user_id的属性将用户视为已登录。 Session[“user_id”] = userId; 我试图在HttpHandler中检索这个Session ,但这似乎不起作用。 所以我考虑将user_id作为参数发送。 var user_id = //Retrieved in some way… $.ajax({ url: ‘QuestionRate.ashx?id=user_id’, success: function (msg, status, xhr) { alert(msg); }, error: function () { alert(msg); } }); 但这看起来似乎是一个坏主意,任何阅读代码的人都可以使用他想要的id访问Handler。 那么在这种情况下我该怎么办? 我希望Handler获取user_id以进行数据库访问,但我想确保此user_id是已登录用户的实际ID。 无法访问处理程序中的会话?

将更新进度面板置于中心

我有一个关于更新进度面板的查询。 我想在屏幕中间放置更新进度面板! 任何人都可以建议我,这样做的想法是什么?