Tag: ajax

在.NET中使用AJAX和ViewState的行为不一致

我发现在我的浏览器上点击“刷新”按钮会暂时搞砸UpdatePanel内的控件的ViewState。 这是我的情况:我创建了一个自定义WebControl,用于在ViewState中存储值。 我将此控件放在UpdatePanel中。 当我点击浏览器上的“刷新”按钮时,它会暂时消除ViewState中的值。 但是,在下一个回发中,在我点击“刷新”之前在ViewState中的值神奇地重新出现。 这种行为搞砸了我的webcontrol。 在我点击“刷新”之后,控件返回到其初始状态,因为ViewState为空并且IsPostBack设置为false。 但是,当我单击我的WebControl中的一个回发控件时,WebControl将在我点击“刷新”之前使用ViewState中的相同值重新加载。 奇怪的是,这只发生在我使用AJAX时。 当我的控件在UpdatePanel之外时,Firefox会给我标准消息,“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息(重新发送)(取消) “。 这很好,因为至少行为是一致的。 但是,我绝对必须在这个项目中使用AJAX。 所以这就是我想做的 – 我想让“刷新”行为保持一致。 如果点击“刷新”根本不影响ViewState,那将是最好的。 但是如果它必须消灭ViewState,那就好了,只要ViewState STAYS消失了。 这些东西都没有价值消失并再次出现。 哦是的,这是我的示例代码: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace TestControls { public class TestControl : WebControl { int _clickCount; bool […]

jqGrid LINQ和匿名类型

jqGrid采用以下JSON格式: { “total”: “5”, “page”: “2”, “records”: “55”, “rows” : [ {“id” :”21″, “cell” :[“cell11”, “cell12”, “cell13”]}, {“id” :”22″, “cell” :[“cell21”, “cell22”, “cell23”]}, … {“id” :”30″, “cell” :[“cell31”, “cell32”, “cell33”]}, ] } 我正在尝试使一个方法尽可能重用,以便通过AJAX将数据传回jqGrid。 var result = new { total = (int) Math.Ceiling((double) totalCount/PageSize), page = PageIndex, records = totalCount, rows = data.Select((d, id) => new […]

在asp.net,C#中保持Fileupload控件的值

我在更新面板中使用Fileupload和3下拉控件,3下拉列表将在下拉列表中选择索引更改事件(例如国家,州和城市…根据国家,州和城市从db获取值) 问题是 虽然回发文件名路径已从文件上传控件中消失(如预期/或默认属性)。 我正在将文件转换为字节数组,以便从文件上传控件存储到数据库中。 我如何保留价值或有什么方法可以解决这个问题。 是否有任何ajax控件的文件上传或任何免费控件保留回传后的值…? 或者可以在回发期间将值设置为文件上传控件? 提前做好准备

使用Ajax和iframe下载文件

我读过有关使用Ajax和iframe进行文件下载的文章。 任何人都可以给我一步一步解释如何执行此操作或知道任何教程,因为我们已经在此项目上使用ajax这似乎是最好的方法。 编辑: 好的,这是我的查看代码: $(function () { $(‘#downloadfile’).click(function (e) { $(‘#downloadIframe’).attr(‘src’, ‘@Url.Action(“DownloadFile”,”Invoice”)’ + ‘/Report/Invoices’); }); }); 这是我的控制器: public FileResult DownloadFile(int id) { byte[] fileBytes = System.IO.File.ReadAllBytes(Server.MapPath(“~/Reports/Invoices/” + Table.First(x => x.ID == id).ID + “.pdf”)); string fileName = Table.First(x => x.ID == id).ID.ToString(); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName); } public ActionResult Download(int id) { return AjaxResponse(“Download”, null); […]

Ajax Minifier(AjaxMin) – JavaScript的EvalTreatment?

所以我只是在我的项目中使用默认设置在所有js / css文件的每个构建/部署中使用AjaxMin.dll。 结果certificate这是一个坏主意。 我们拥有的第三方javascript文件之一有一个很好的eval语句,其中引用了一些变量或参数。 当它被缩小时,原始变量将被重命名,而不是在eval语句中重命名。 这导致了生产中的一个很大的错误(FML)。 我已经决定需要为缩小过程选择更安全的设置。 关于AjaxMin的文档非常不清楚。 http://www.asp.net/ajaxlibrary/AjaxMinWithAndEval.ashx 或许我只是不理解它。 我正在使用代码(使用DLL)而不是命令行。 CodeSettings类有一个EvalTreatment类选项,但我不确定选择的最佳选项是什么… 来自Microsoft(DLL源代码): using System; namespace Microsoft.Ajax.Utilities { public enum EvalTreatment { Ignore = 0, MakeImmediateSafe = 1, MakeAllSafe = 2, } } 我在想MakeImmediateSafe (1)还是MakeAllSafe (2)? 你们有什么感想? 提前致谢!

ASP.NET JQuery AJAX POST返回数据但在401响应中

我的应用程序中有一个Web页面,需要调用我已设置的Web服务来返回对象列表。 此调用设置如此 $(document).ready(function() { var response = $.ajax({ type: ‘POST’, contentType: ‘application/json; charset=utf-8’, url: ‘/Ajax/service.asmx/GetObjects’ }); response.success(function(data) { $(‘#bodyText’).html(data); }); response.complete(function() { alert(‘ajax complete’); }); }); 我的服务看起来像这样 namespace AjaxTest.Ajax { #region using System.ComponentModel; using System.Web.Script.Serialization; using System.Web.Script.Services; using System.Web.Services; #endregion /// /// Summary for boat /// [WebService(Namespace = “http://quality/”)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class […]

ASP.NET – 如何向服务器发出AJAX请求而不获取我所有更新面板的信息响应?

例如,我在页面上有三个UpdatePanel。 我单击一个按钮,我得到很长的响应,它包含三个UpdatePanels的所有数据,即viewstate字符串。 我想优化我的查询并收到“ok”或“not ok”等响应。 我怎样才能做到这一点?

将base64字符串发送到c#server

我现在制作了ac#web api。 它工作正常,直到今天。 我试图将图像转换为base64string,然后通过ajax将base64string发送到c#服务器。 当我执行上述步骤时,会发生错误。 XMLHttpRequest cannot load http://10.0.10.105:50231/api/hello. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://10.0.10.201’ is therefore not allowed access. 我不知道主要问题存在于哪里,但在我的观察中,只有在将非常长的base64string传递给服务器时才会出现错误,因为当我尝试发送短测试字符串时问题不会出现并且一切正常。 你知道解决这个问题的更好方法是什么? 或任何其他方式来实现我所需的目标? 我的ajax代码是这样的。 $.ajax({ type: ‘POST’, //GET or POST or PUT or DELETE verb url: ‘http://10.0.10.105:50231/api/hello’, // Location of the service contentType: ‘application/x-www-form-urlencoded’, // content type sent to server […]

Usercontrol回发在updatepanel中不起作用

我有一个包含更新面板的母版页: 然后我有Default.aspx页面使用母版页文件: 我以编程方式将usercontrols加载到id为plhCurrentItem的占位符中。 问题是当我单击usercontrol中的按钮时,没有事件触发。 用户控件刚刚消失,updatepanel保持空白。 我究竟做错了什么? 更新 用于添加用户控件的代码。 从Page_load事件调用LoadControls方法。 Control ctlCurrentItem = null; public string currentControl { get { return ((string)Session[“currentControl”]); } set { Session[“currentControl”] = value; } } public void LoadControls() { switch (currentControl) { case “Home”: ctlCurrentItem = Page.LoadControl(“~/pages/Home.ascx”); ctlCurrentItem.ID = “Home”; break; case “Resume”: ctlCurrentItem = Page.LoadControl(“~/pages/Resume.ascx”); ctlCurrentItem.ID = “Resume”; break; case […]

使用MVC5,Ajax,C#和MSSQL Server级联DropdownList

来自Windows窗体和3层架构的MVC我很陌生。 我试图找出使用从数据库填充的级联下拉列表(DDL)。 我正在使用MS SQL Server 2012,VS 2013 目前我正在处理用户问卷,用户可以从DDL的多个答案中进行选择。 取决于一些选择,我需要在下一个问题上更改答案(再次DDL)。 数据库: 表DDLStacks : StackId | StackName 1 | Berry 2 | BerryColor 3 …. 表DDLStackContents (SCId堆栈内容id,索引目的) SCId | StackId | GroupId | Key | Value ————————————– 1 | 1 | Null | 1 | Grape 2 | 1 | Null | 2 | Avocado 3 | […]