Tag: c#

部分视图在Jquery Ajax Post之后刷新

在我的c#MVC4应用程序中,我正在处理两个部分视图。 部分视图1位于具有id Partial_Analysis的div中,Partial View 2位于具有id Display_Average的div中。 每个视图都包含一个datatables.net数据表。 当在部分视图1中的表中选择行时,生成jquery ajax post,其使得部分视图2刷新,其中更新的数据表显示基于在部分视图1中进行的行选择的结果。 $(document).ready(function () { $(‘.rowselection’).click(function (e) { var tdata = $(‘#form1’).serialize(); $.ajax({ type: “POST”, data: tdata, url: “Home/PartialAverage”, success: function (result) { success(result); } }); }); function success(result) { $(“#Display_Average”).html(result); } }); 单击特定按钮时,将刷新部分视图1。 $(document).ready(function () { $(‘#ChangeName’).click(function (e) { var tdata = $(‘#form1’).serialize(); var origname = […]

mvc4 ajax更新同一页面

我在页面上有一个用户列表,当我点击一个标签(easytabs)时,它们会在ajax事件期间加载。 然后我将ajax加载一个创建新用户局部视图到同一个选项卡。 然后我使用此表单创建一个新用户,但我不知道如何使用新的用户列表(包括新创建的用户)重新加载第一个部分视图。 使用HTML列表加载选项卡面板: 控制器: [HttpGet] public PartialViewResult tabsUsers() { return PartialView(“UsersPartial”, userManager.GetUsers()); } UsersPartial View <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable>” %> model.UserName) %> model.FirstName) %> model.LastName) %> model.Email) %> Actions item.UserName) %> item.FirstName) %> item.LastName) %> item.Email) %> | | 这很好用,每次单击选项卡时,数据都会按预期重新加载。 现在, 在UsersPartial视图中,我有另一个Ajax Actionlink,它将另一个局部视图加载到这个局部视图中,以创建一个新用户: 来自UsersPartial View的HTML Ajax Actionlink: 这会在UsersPartial视图中加载以下CreateUserView视图: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl” %> <script […]

如何在 _Layout.cshtml中使用properties.settings.default

我们正在尝试在cshtml布局页面中使用常规properties.settings。 var设置在标签中(jQuery) 我们可以在控制器中访问properties.settings.default.OurSetting 。 我们在SO上查看了一些问题,但他们只给出了在控制器中实现它的示例。 ex: 在Windows窗体应用程序中保存应用程序设置的最佳实践 如何在Visual C#中使用设置 http://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C 所以我们试图这样做 var setting = ‘@(MyProjectName.Properties.Settings.Default.OurSetting)’ 但是这表示当前上下文中不存在名称Properties。 编辑 我们首先使用web.config中的appSettings,但因为我们希望能够在不重新加载应用程序的情况下更改设置。

C#Web Service不会输出JSON,只输出XML

我正在尝试将jQuery和JSON与我编写的C#Web服务一起使用。 无论如何,以下代码仅以XML格式输出。 Web服务代码 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string HelloWorld() { return “Hello World!”; } 我也将这些属性分配给了这个类 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] jQuery代码 $.ajax({ type: “POST”, contentType: “application/json; charset=utf-8”, url: “ScheduleComputerDS.asmx/HelloWorld”, data: “{}”, dataType: “jsonp”, success: function(data) { alert(data); } }); ASMX页面始终以内容类型“text / xml”返回。 我错过了什么? 编辑:回应几个答案: 如果我的数据类型只是“json”,那么内容仍然是XML,jQuery也不会调用我的回调函数。 如果我添加“&callback =?” 到URL,IIS抛出HTTP 500错误。 我的类inheritance自“System.Web.Services.WebService”。 从对你们家伙的答案做一些研究,看起来我确实需要弄乱WCF。 不幸的是,返回的JSON更多是为MS Ajax设计的,对我来说是一个无用的膨胀。 我可能会研究像Jayrock这样的开源库或类似的东西。 感谢你的帮助!

从后面的代码调用jquery

嗨我有一个jquery函数,当单击一个按钮时执行,我还需要根据一个Item是否附加注释从我的代码后面执行此函数。 这是jquery //Comments Slide $(‘.commentsnr’).live(“click”, function () { // up to parent li $li = $(this).closest(‘li’); $li.find(“#commentload”).slideToggle(300); }); 我怎么从后面的代码中调用它,非常感谢

ASP.NET MVC和JQuery动态表单内容

我想用JQuery动态地将字段添加到ASP.NET MVC表单。 例: var widgets; $(document).ready(function() { widgets = 0; AddWidget(); }); function AddWidget() { $(‘#widgets’).append(“”); widgets++; } 这有效,但我打算手动迭代控制器中的表单值: [AcceptVerbs(“Post”)] public ActionResult AddWidget(FormCollection form) { foreach (string s in form) { string t = form[s]; } return RedirectToAction(“ActionName”); } 但是当我将用户发送回Controller中的Get Action时,我发现它必须使用输入的值设置FormData,然后使用<%scripting迭代添加小部件。 在当前版本中有什么最好的方法(5我相信)?

普通的.NET Web服务应用程序中HTTP会话状态的替代方案

经过与ASP.NET页面生命周期及其性能的长期斗争,我们已经开始重构我们的Web应用程序,以在客户端实现Web服务(普通的.asmx .NET Web服务)和jQuery。 注意:这不以任何方式实现MVC或ASP.NET,这些只是Web服务。 在应用程序的两个分配中,我们在单个页面中动态生成所有内容。 在ASP.NET分配中,这意味着(由于页面生命周期)整个页面需要被拆除并重建(几乎)每个AJAX调用或更改为Web表单。 这为旨在为许多并发用户提供服务的应用程序带来了巨大的可扩展性问题。 在Web服务/ jQuery分配中,我们可以有选择地只关注需要向服务器发送或接收数据的DOM元素,这意味着更少的请求和更快的用户体验。 该应用程序的第一次迭代显示性能提升了一个数量级; 但是,随着我们开始构建越来越多的Web服务,应用程序的性能现在与ASP.NET分配的性能相当。 经过大量谷歌搜索/灵魂搜索和负载测试后,很明显HTTP Session是罪魁祸首。 本质上,每次读取(有时通过简单地在Web服务方法范围中包括Session)都是阻塞调用,它引入了500ms的延迟。 一旦你知道在哪里看,这在MSDN文献中有详细记载。 实现时,Session(如果由同一用户的多个Web服务使用)将异步请求转换为具有500ms缓冲区的同步请求。 我们通过将所有AJAX调用链接为彼此的“成功”事件来缓解这种情况,从而使它们成为来自客户端的同步请求。 这消除了请求对锁定的Session对象进行读取所导致的500ms延迟。 使客户端应用程序以“同步”方式运行已解决了许多性能问题; 然而,这只是短期内的一个临时解决方案。 什么可行的(可扩展的!)替代Session存在,再次记住,我们不是在ASP.NET或MVC或WCF等? 我们最大的障碍是我们的元数据集合的持久性,该集合在登录时为每个用户初始化。 这是app中最昂贵的操作(10倍或更多),而且我们只想执行一次。 会话提供了一种简单的方式,让老一辈流汗,永不回头; 但这种方法看起来不太可行。 一种方法可能是消除这个单一的元数据集合神类,并将这个一神论类演变为半神论的多神论集合。 可以以更低的成本更频繁地完成半神人的实例化。 可行,但需要大量的重构,广泛的开发和QA时间。 另一个候选者只是将所有状态信息存储在数据库中,但这有其自身的成本 – 延迟并非最不重要。 是否有任何其他解决方案可能涉及较低的实施工作量?

JQuery ajax调用在200上执行错误

我的c#/ WebApi服务器代码如下所示: [HttpPost] public HttpResponseMessage Logout() { // do some stuff here … return Request.CreateResponse(HttpStatusCode.OK); } 在客户端,我使用jquery 2.0.3进行ajax调用 ADDED:Jquery代码(typescript)…… var ajaxSettings: JQueryAjaxSettings = {}; ajaxSettings.type = ‘POST’; ajaxSettings.data = null; ajaxSettings.contentType = “application/json; charset=utf-8”; ajaxSettings.dataType = “json”; ajaxSettings.processData = false; ajaxSettings.success = (data: any, textStatus: string, jqXHR: JQueryXHR) => { console.log(“Success: textStatus:” + textStatus + […]

如何使用jQuery将JSON数据绑定到Asp.net MVC中的dropdownlist

我正在尝试将JSON数据绑定到下拉列表 我的场景是我想获取数据并绑定到动态下拉列表, 在Seperate Class中,我使用linq来获取数据 public SelectList getProjects() { IEnumerable projectslist = (from proj in res.PROJECTs where proj.IS_DELETED == “N” select proj).AsEnumerable().Select(projt => new SelectListItem() { Text = projt.NAME, Value = projt.ID.ToString() }); return new SelectList(projectslist, “Value”, “Text”, PROJ_ID); } 在控制器中: ViewBag.ProjectList=(from proj in res.PROJECTs where proj.IS_DELETED == “N” select proj).AsEnumerable().Select(projt => new SelectListItem() { Text […]

无法将Access-Control-Allow-Origin添加到我的WCF库Project

我试图理解为什么这个ajax被调用不起作用 $.ajax({ type: ‘GET’, url: “http://localhost:8732/Design_Time_Addresses/InMotionGIT_NT.Address.Service/AddressService/json/capitalize”, data: { streetAddress : JSON.stringify(streetAddress) , consumer : JSON.stringify(consumer)} , datatype: “jsonp”, success: function (data) { $(‘body’).append(”+data.IDblah+’ ‘+ data.prueba+”); alert(data.IDblah); } 服务接收数据正确接收并且响应正确。 我为什么做错了? 我尝试将此属性添加到调用的ajax但没有成功crossDomain : true [OperationContract()] [WebInvoke(Method=”GET”, RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)] public string Capitalize(StreetAddress streetAddress,ConsumerInformation consumer) 我得到它的错误是常见的 XMLHttpRequest cannot load Origin http://localhost:50816 is not allowed by Access-Control-Allow-Origin. UPDATE 我尝试通过在App.config文件中添加configuracion将响应添加到响应,但没有成功