Tag: asp.net mvc 5

Ajax json到MVC5控制器:传递包含集合的对象

伙计们,我在MVC4和MVC5上尝试过这个。 我需要将一个具有一些属性和集合的对象从客户端传递给控制器​​。 我已经在C#中定义了模型: public enum RequestMode { ReadOnly = 0, Edit = 1} public class DataRequest { public int ProjectId { get; set; } public RequestMode Mode { get; set; } public List PageRequests { get; set; } public DataRequest() { PageRequests = new List(); } } public class PageRequest { public int Id { […]

如何通过jquery ajax发送AntiForgeryToken(CSRF)和FormData

所以我想通过AJAX与AntiForgeryToken一起AntiForgeryToken fileUpload。 这是我的代码: 视图 @using (Html.BeginForm(“Upload”, “RX”, FormMethod.Post, new {id = “frmRXUpload”, enctype = “multipart/form-data”})) { @Html.AntiForgeryToken() @Html.TextBoxFor(m => m.RXFile, new {.type = “file”}) …rest of code here } $(document).ready(function(){ $(‘#btnRXUpload’).click(function () { var form = $(‘#frmRXUpload’) if (form.valid()) { var formData = new FormData(form); formData.append(‘files’, $(‘#frmRXUpload input[type=”file”]’)[0].files[0]); formData.append(‘__RequestVerificationToken’, fnGetToken()); $.ajax({ type: ‘POST’, url: ‘/RX/Upload’, […]

使用里程表将变量传递给jquery

我想使用jquery里程表在母版页上显示信息。 http://www.jqueryscript.net/animation/Smooth-Animated-Numbers-with-Javascript-CSS3-odometer.html 为此,我必须使用C#从SQL Server中检索该值。 然后我必须将它传递给html()中的jscript里程表,如下所示。 如果我得到了价值 – 如何将它发送到javascript? setTimeout(function(){ $(‘.odometer’).html(‘123222’); }, 1000);

为什么Ajax在第一次请求时正常工作,但在第二次请求时返回新页面上的部分视图?

我有一个嵌套在表中每一行的Ajax表单,以提供添加/删除function。 部分列出了所有可用角色(Microsoft身份2.0),并为每个角色列出了指定用户是否与该角色相关联,以及用于切换用户进出角色(Ajax)的按钮。 当我使用Ajax.Beginform时,一切正常,但是当我使用常规jquery时,它第一次单击按钮切换用户与角色的关联时工作,但第二次将部分视图加载到其新页面上拥有没有CSS风格。 在stackoverflow上搜索,我看到其他人有类似的问题,但他们似乎根本没有ajax工作,不像我有第一个请求工作,然后没有。 我还应该提一下,我是Asp.net的新手,这是我第一次直接使用jquery(遵循Scott Allan关于PluralSight的教程)。 这是我已经尝试过的:检查该操作是否被带有调试断点的ajax请求命中。 检查我在布局视图中引用了jquery,并且不超过一次。 检查我是否以正确的顺序引用jquery和jquery unobtrusive ajax。 检查web.config是否将相关标志设置为true。 我已经被困在这几个小时了,任何指导都会非常感激。 BundleConfig.cs: namespace GCCP { public class BundleConfig { // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle(“~/bundles/jquery”).Include( “~/Scripts/jquery-{version}.js”)); bundles.Add(new ScriptBundle(“~/bundles/jqueryval”).Include( “~/Scripts/jquery.validate*”, “~/Scripts/jquery.unobtrusive*”)); bundles.Add(new ScriptBundle(“~/bundles/gccp”).Include( “~/Scripts/gccp.js”)); // Use the development version of Modernizr to develop with […]

“jquery.unobtrusive-ajax.js”过时了吗?

我有一个古老的MVC2解决方案,我迁移到MVC5 (Visual Studio 2013)。 我想用新的库更新项目中使用的旧库。 我有例如。 jquery.unobtrusive-ajax.js库。 它现在已经过时了吗? 我问,因为该库引用 /// 但我升级了jQuery(我现在使用的是jQuery v1.8.3)。 如果它有什么替换(如jquery.validate.unobtrusive.js (?)) PS。 在默认的MVC项目中,Visual Studio 2013提出了以下“validation”脚本: jquery.validate-vsdoc.js jquery.validate.js jquery.validate.min.js jquery.validate.unobtrusive.js jquery.validate.unobtrusive.min.js

在asp.net MVC中进行AJAX调用后渲染视图

我正试图在ajax调用后加载视图。 在ajax调用之后,我的action方法将返回一个view ,该view将在调用成功后加载。 AJAX我正在使用 function PostMethods(url,fname,lname,email){ var userRegisterViewModel = { FirstName: fname, LastName: lname, Email: email }; $.ajax({ type: ‘Post’, dataType: “json”, url: url, contentType: ‘application/json’, data: JSON.stringify(userRegisterViewModel), //成功和错误代码 });} 我的ajax调用api方法,我传递的是fname , lname和email 。 现在我的api方法成功地将这些数据存储到数据库中它将返回一个View如果无法存储数据,它将返回一条错误消息,我可以在当前视图中向用户显示该消息。 在当前视图的HTML中有一个空的来显示错误消息。 我的行动方法是: public ActionResult RegisterAndLogin(UserRegisterViewModel model) { ActionResult returnNextPage = null; bool successToStoreData = SomeMethod(model); if (successToStoreData) { returnNextPage = […]

为什么Asp.Net MVC 5将@ Scripts.Render(“〜/ bundles / jquery”)放在_Layout.cshtml的底部?

我把块放在一个(只有一个)使用模板的cshtml文件的主体中,它们导致错误,因为jQuery尚未加载。 将@Scripts.Render(“~/bundles/jquery”)放在_Layout.cshtml文件的底部有什么意义? _Layout.cshtml的底部。 @RenderBody() @Scripts.Render(“~/bundles/jquery”) @Scripts.Render(“~/bundles/bootstrap”) @RenderSection(“scripts”, required: false) 以下显示了生成的cshtml文件的来源。 $(document).ready(function () { /// $ not defined. // ….. });

WebAPI Put返回HTTPResponseMessage null

我需要实现简单的编辑function。我正在使用webapi服务来更新我的测试对象。 我从控制器发布请求中调用以下方法。 这是在调用put服务时调用metod的控制器 public ActionResult TestEdit(Test test) { if (ModelState.IsValid) { // objTest is returned null HttpResponseMessage objtest = TestDatabaseService.TestEdit(test.testID, test); } } // Method which calls put service testDataService public HttpResponseMessage TestEdit(int id, Test test)** { string uri = baseUri + “Test/” + id; using (HttpClient httpClient = new HttpClient()) { Task response = […]

使用$ .ajax或$ .post调用MVC 5 Controller方法

我正在尝试使用JavaScript设置从MVC页面到控制器的非常简单的调用。 这是我的控制器: Imports System.Web.Mvc Namespace Controllers Public Class DataController Inherits Controller Function Index() As ActionResult Return View() End Function Function SaveData(payload As String) As String If payload IsNot Nothing AndAlso payload.Length > 0 Then Return “Good” Else Return “Bad” End If End Function End Class End Namespace 这是我的View(Index.vbhtml): @Code ViewData(“Title”) = “Index” End Code Index […]

MVC 5 – 无法实现全球化运行

我想添加全球化,因为该网站要求用户提供日期。 而我的德国用户想输入“31.12.1966”而不是“1966-12-31”。 所以我将nuget-Packages“jQuery.Validation.Globalize”和“jquery-globalize”添加到项目中。 现在我无法配置我的BundleConfig! 根据我的研究,我知道,我需要globalize.js和其他一些文件。 所以我试着做一个bündle: bundles.Add(new ScriptBundle(“~/bundles/jquery”).Include( “~/Scripts/jquery-{version}.js”)); bundles.Add(new ScriptBundle(“~/bundles/jqueryval”).Include( “~/Scripts/jquery.validate*”)); bundles.Add(new ScriptBundle(“~/bundles/global”).Include( “~/Scripts/globalize.js”, “~/Scripts/cldr.js”).IncludeDirectory(“~/Scripts/cldr/”, “~/Scripts/globalize/”) ); 在视图中使用: … @section Scripts { @Scripts.Render(“~/bundles/global”) @Scripts.Render(“~/bundles/jqueryval”) @Scripts.Render(“~/bundles/unobtrusiveajax”) $(function () { $.validator.methods.date = function (value, element) { Globalize.culture(“de-DE”); // you can alternatively pass the culture to parseDate instead of // setting the culture above, like so: // […]