Tag: ajax

为什么我必须匹配参数名称以从MVC4 Web应用程序中的ajax调用获取json数据?

我只是想知道为什么.NET需要将参数名称与JSON对象的键名匹配? 这里快速代码预览… var json = { “service”: “COMMON”, “method”: “MENU_SUBLIST”, “UID”: “1000007”, “ULID”: “stackoverflow”, “UNM”: “queston”, “SITE”: “1”, “DEPT”: “2”, “LANG”: “ko”, “MENUID”: “0000”, “STEPMENU”: “”, “ACTIONNAME”: “” } 好吧,让我们通过Ajax在控制器中调用一个动作。 $.ajax({ type: “POST”, url: “DATACRUD.json”, data: JSON.stringify(json), contentType: “application/json; charset=utf-8”, dataType: “json”, async: false, //_async, success: function (result) { } }); 我的c#动作代码在这里.. [HttpPost] public ActionResult […]

Asyncfileupload文件预览未显示

我在更新面板中有一个Ajax异步文件上传控件。 我的上传工作正常,但上传完成后,我需要看到我上传的图片。 但它不起作用就是我所做的 function UploadComplete(sender, args) { var filename = args.get_fileName(); var contentType = args.get_contentType(); if (contentType.indexOf(‘image’) == -1) { document.getElementById(”).innerText = “Uploaded file must be an Image!”+ “” + args.get_errorMessage() + “”; document.getElementById(”).text.style.backgroundColor = “Red”; } else { var text = “” + filename + ” | ” + args.get_length() + ” bytes”+”Uploaded Succesfully”; […]

更新面板中的按钮是否正在完整回发?

我正在关注如何使用此处的更新面板的简单示例( http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx )。 在更新面板之外,我有另一个html输入控件,它调用一个javascript函数,在一个警告框中向用户显示一个计数。 简单的东西。 我的问题是,在IIS和内置的asp.net Web服务器(cassini)上运行时,页面的行为会有所不同。 在IIS下单击更新面板中的按钮会导致完整的回发,因此每次都会在js函数中显示给用户的计数。 在内置的Web服务器下点击更新面板内的按钮表现我的期望和我想要的方式,它只刷新标签,以便客户端的计数器不重置。 .net 3.5是目标框架,我正在运行IIS 5.1。 我见过其他地方的post描述了同样的问题( http://forums.asp.net/t/1169282.aspx ) Untitled Page var count=0; function incrementCounter() { count ++; alert(count); } 更新: 感谢Crossbrowser的回答。 我的回复将在“添加评论”窗口中占用更多空间。 好的,所以按照这个简单的例子( http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx )你可以看到更新模式没有设置为条件所以我已经反映了这些变化。 但是我的问题仍然存在。 也就是说,在IIS上运行时页面会导致完整的回发。 即你浏览器中的进度条加载,屏幕闪烁,我维护的客户端计数丢失。 在内置的asp.net webserver上运行代码不会。 这是我的问题的关键。 我其他人遇到过这个问题( http://forums.asp.net/t/1169282.aspx )。 所以我的问题是,与内置的asp.net相比,在IIS上运行时会有什么不同? 更新的代码: Untitled Page var count=0; function incrementCounter() { count ++; alert(count); }

如何使用asp.net在Jquery中validation用户名密码?

我有使用这个进入asp.net的Jquery登录控件loke的代码,但是我很困惑在哪里以及如何简单地validation用户名和密码。 Login.aspx Email Address Password Remember me Forgot your password? Login.js // Login Form $(function() { var button = $(‘#loginButton’); var box = $(‘#loginBox’); var form = $(‘#loginForm’); button.removeAttr(‘href’); button.mouseup(function(login) { box.toggle(); button.toggleClass(‘active’); }); form.mouseup(function() { return false; }); $(this).mouseup(function(login) { if(!($(login.target).parent(‘#loginButton’).length > 0)) { button.removeClass(‘active’); box.hide(); } }); }); 现在我怎么能用这个Jquery代码使用我的asp.net身份validation? 在哪里以及如何编写c#身份validation代码? 在jquery中给一些新的bie感谢

如何将JSON对象读取到WebAPI

我已经检查了一些类似的问题,但没有一个答案似乎适合(或者对我来说足够愚蠢)。 所以,我有一个非常简单的WebAPI来检查数据库中是否存在带有电子邮件的用户。 AJAX: var param = { “email”: “ex.ample@email.com” }; $.ajax({ url: “/api/User/”, type: “GET”, data: JSON.stringify(param), contentType: “application/json; charset=utf-8”, dataType: “json”, success: function (data) { if (data == true) { // notify user that email exists } else { // not taken } } }); 的WebAPI: public bool Get(UserResponse id) { string email = […]

如何将项目列表从视图传递到控制器(ASP.NET MVC 4)

我正在尝试将List 类型的多个项目传递给我的控制器,但是,当我提交数据时,它在我的控制器中显示为null。 我想要发生的是,我在视图中有一个“费用”列表,并且每个“费用”或项目旁边都是我的模型中的“已提交的布尔”属性的复选框。 当我检查项目时,我希望在数据库中更新已检查项目的属性列表Submitted和DateSubmitted 。 View中的@ Html.DisplayFor(modelItem => item.Submitted)生成复选框。 我究竟做错了什么? 这是我的观点: @model IEnumerable @{ ViewBag.Title = “Submit Expenses”; Layout = “~/Views/Shared/_Layout.cshtml”; DateTime today = DateTime.Today; string formattedDate = today.ToString(“MM/dd/yyyy”); } Submit Expenses @using (Html.BeginForm()) { @Html.AntiForgeryToken() Start Date: @Html.TextBox(“expenseDate”, formattedDate, htmlAttributes: new { @class = “form-control” }) End Date: @Html.TextBox(“expenseDate2”, formattedDate, htmlAttributes: new { @class […]

创建JSON从Web服务返回“字符串”以与jquery ajax一起使用

我尝试使用以下教程在asp.net应用程序中实现一个简单的Web服务: http : //dotnetslackers.com/articles/ajax/JSON-EnabledWCFServicesInASPNET35.aspx#1301和http://dotnetslackers.com/articles/ajax /Using-jQuery-with-ASP-NET.aspx 问题是,我的数据正在返回,如此屏幕截图所示(根据firebug): $(“#btnGet”).click(function () { $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, url: “TimeService.svc/GetCar”, data: “{}”, dataType: “json”, success: function (data) { alert(data.d); } }); }); }); 我的Web服务方法如下所示: [OperationContract] public string GetCar() { using (var sqlc = new SqlConnection(@”Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CarTracker.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True”)) { sqlc.Open(); var cmd = sqlc.CreateCommand(); cmd.CommandText = “SELECT […]

ASP.NET MVC3 – 使用Javascript的Bug

我正在尝试使用Ajax.BeginForm()从我的控制器POST一个Json结果(我正在使用MVC3)。 调用Json结果时,应将其发送到javascript函数并使用提取对象 var myObject = content.get_response().get_object(); 但是,它只是在尝试调用Ajax POST时抛出“Microsoft JScript运行时错误:对象不支持此属性或方法”。 我的代码: 控制器: [HttpPost] public ActionResult Index(string message) { return Json(new { Success = true, Message = message }); } 视图: function JsonAdd_OnComplete(mycontext) { var myObject = mycontext.get_response().get_object(); alert(mycontext.Message); } @using(Ajax.BeginForm(“Index”, “Home”, new AjaxOptions() { HttpMethod = “POST”, OnComplete = “JsonAdd_OnComplete” })) { @Html.TextBox(“message”) } 奇怪的是,完全相同的代码在MVC2中起作用 – […]

ASP.NET上的异步回发:点击按钮

我在asp:net中使用AJAX,并试图处理一种情况,其中asp:按钮同时触发javascript方法和codebehind c#方法。 为此,我使用按钮的onclick和onClientClick属性。 我需要回调才能调用代码隐藏但是这个回发会导致javascript无法正常工作,因为变量已经丢失状态。 任何人都可以描述如何处理这个? 可能与ajax和异步回发? 它开始让我有点疯狂! 编辑:javascript实际上是google-map(v3),c#代码用于提交给sql db。 地图在代码隐藏中初始化: protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack) { ScriptManager.RegisterStartupScript(this, this.GetType(), “onload”, “initialize_map();”, true); submitButton.Command += new CommandEventHandler(this.submitButton_Click); } } 以下是一些相关代码: (…form stuff…) Pick-Up and Drop-Off Locations …我认为如果我可以让第一个更新面板在按钮点击上回发,第二个面板不回发,并且仍然可以调用代码隐藏按钮。 到目前为止,这一切都没有运气同时发生。

无法拆分文件并发送然后加入服务器

我正在使用ajax javascript从客户端上传文件,我在块中和服务器中分割,当收到所有块时我加入它们。 但问题是即使原始文件和上传的文件大小相同但两者都不同。 我的意思是gif文件,当我查看它与videofiles.client侧代码不同和相同 var xhr = new XMLHttpRequest(); var tempBlob = blob; var blobOrFile = tempBlob.slice(fileDataStart, fileDataSent); xhr.open(‘POST’, ‘/Portfolio/UploadBinaryFiles’, false); xhr.setRequestHeader(“Cache-Control”, “no-cache”); xhr.setRequestHeader(“X-File-Name”, fileName); xhr.setRequestHeader(“X-File-Size”, fileSize); xhr.setRequestHeader(“X-File-BytesSent”, fileDataSent); xhr.setRequestHeader(“X-File-SplitCounter”, fileSplitCounter); xhr.setRequestHeader(“Content-Type”, “multipart/form-data”); xhr.send(blobOrFile); 服务器端代码加入 FileStream fsSource = new FileStream(FileOutputPath, FileMode.Append); // Loop through all the files with the *.part extension in the folder foreach […]