Tag: asp.net mvc

FormData追加数组中的项目

public List Regions { get; set; } 在名为News.An Region Model的模型中 public class Region { public int Id { get; set; } public string Name { get; set; } public static Region Parse(DataRow row) { return new Region { Id = Database.GetInteger(row[“Id”]), Name = Database.GetString(row[“Region”]), }; } } 在Javascript中我使用带有formdata的AJAX post方法。 我想设置这个区域。 var regionList = []; if […]

如何使用带有validation的jQuery在Modal中创建.NET MVC表单

我真的很想知道怎么把这些放在一起。 我已经在.net MVC页面中构建了很多次表单,无论有没有validation。 我使用jQuery构建了表单,有和没有validation。 我已经在模态中构建了表单,但从未使用过MVC。 我从原来的问题中理解,因为这个表单在一个模态中,我需要使用jQuery来处理提交。 我正好想弄清楚如何把所有这些活动的部分组合在一起。 到目前为止,我还没有找到将这些全部放在一起的教程(或教程组合)。 这就是我需要的: 在我的MVC视图中,有一个按钮可以打开一个模态。 (这很好。) 模态打开后,它包含一个包含多个文本字段和下拉列表的表单。 每个都是必需的。 (为了使字段成为必需字段,我是否会在视图的模型中定义它们,就像我通常使用MVC表单一样?或者我是否在jQuery中创建需求?) 如果用户尝试提交表单并且它们为空或无效,则模式保持打开状态并显示validation消息。 (我理解,从我最初的问题来看,由于模态,使用直接MVC是不可能的,并且需要一些jQuery。我在这里迷失了。) 如果用户尝试提交表单并且所有字段都有效,则模态关闭,我们点击控制器并将字段保存到数据库。 (不知道如何逃离jQuery,只需点击普通控制器来处理最终的逻辑。) 编辑: 谢谢杰森,谢谢你的帮助! 根据您的建议,这就是我的工作方式。 父视图: 模式: × Edit Account Profile – @Html.Partial(“_AccountProfileEdit”, new GEDCPatientPortal.Models.AccountProfileEditViewModel()) 接下来是脚本: @section Scripts { $(document).ready(function () { $(‘#AccountEditModal’).on(‘shown.bs.modal’, function () { $(‘#myInput’).focus() }) $(“#AccountEditModal”).on(“submit”, “#form-accountprofileedit”, function (e) { e.preventDefault(); // prevent standard form submission […]

Ajax调用MVC Controller返回“NOT FOUND”

我正在尝试使用AJAX调用MVC Controller动作传递一些参数。 我有时在这个应用程序中这样做,它工作正常。 我不知道为什么只有这一个不起作用。 function excluirDetalhe(button, tab) { var index = $(button).closest(‘tr’).index(); var myTable = document.getElementById(tab); var id = myTable.rows[index].cells[0].innerHTML.trim(); $(‘#’ + tab + ‘ tr:eq(‘ + index + ‘)’).remove(); $.ajax({ traditional: true, url: “entidades/gravaCookie”, type: ‘post’, data: { id: id, detalhe: “E” }, error: function (jqXHR, textStatus, errorThrown) { alert(errorThrown); } }); } 这是我的控制器方法: […]

文件API文件上载 – 在ASP.NET MVC中读取XMLHttpRequest

我正在尝试在ASP.NET MVC中实现Gmail样式拖放文件上传。 我一直关注这篇文章: http : //robertnyman.com/html5/fileapi-upload/fileapi-upload.html并希望将上传的文件发布到MVC控制器操作。 为此,我修改了链接中的示例JavaScript脚本以指向我的控制器操作: xhr.open(“post”, “/home/UploadFiles”, true); 这是我的控制器动作: [HttpPost] public virtual string UploadFiles(object obj) { var length = Request.ContentLength; var bytes = new byte[length]; Request.InputStream.Read(bytes, 0, length); // var bytes has byte content here. what do do next? return “Files uploaded!”; } 我设置了一个断点,当我上传文件时,断点被击中 – 这很好。 但是如何从上传的(javascript)XMLHttpRequest对象中提取数据? 我不认为它在HttpRequest中 – 它是参数吗? 如果是这样,我应该期待什么类型以及如何提取字节数组并从中提取上传的文件信息? (我正在使用Chrome – […]

使用jQueryvalidation的ASP.Net MVC Ajax表单

我有一个MVC视图,其中包含使用Ajax.BeginForm()辅助方法构建的表单,我正在尝试使用jQuery Validation插件validation用户输入。 我得到插件以突出显示无效输入数据的输入,但尽管输入无效,表单也会发布到服务器。 如何停止此操作,并确保仅在表单validation时发布数据? 我的代码 表格: leave a message Rubrik Meddelande JavaScriptvalidation: $(document).ready(function() { // for highlight var elements = $(“input[type!=’submit’], textarea, select”); elements.focus(function() { $(this).parents(‘p’).addClass(‘highlight’); }); elements.blur(function() { $(this).parents(‘p’).removeClass(‘highlight’); }); // for validation $(“form”).validate(); }); 编辑:由于我在回答中发布后续问题及其解决方案,这也是工作validation方法…… function ajaxValidate() { return $(‘form’).validate({ rules: { “Post.Header”: { required: true }, “Post.Post”: { required: true, minlength: 3 […]

使用JSON结果填充下拉列表 – 使用MVC3,JQuery,Ajax,JSON级联DropDown

我有一个使用mvc的级联溺水。 如果您在第一个下拉列表中选择一个国家/地区,则应该相应地填充第二个国家/地区的州。 目前,一切似乎都很好,我得到Json的回应(看到它使用F12工具),它看起来像[{ “stateId”:”01″, “StateName”: “arizona” } , { “stateId” : “02”, “StateName”:”California” }, etc..] .. 我想知道如何用这些数据填充我的second-dropdown 。 我的第二个下拉列表的ID是“ StateID ”。 任何帮助将不胜感激。 以下是用于从服务器生成JSON响应的代码: [HttpPost] public JsonResult GetStates(string CountryID) { using (mdb) { var statesResults = from q in mdb.GetStates(CountryID) select new Models.StatesDTO { StateID = q.StateID, StateName = q.StateName }; locations.statesList = stateResults.ToList(); } JsonResult […]

使用jquery ajax传递数据

我总是得到’错误’警报,我无法弄清楚出了什么问题。 我只是试图找回我发送的字符串(“testexpression”)。 它必须与数据部分有关,因为没有参数它可以工作。 这是jquery部分: $(“#meaning”).blur(function () { $.ajax({ type: “POST”, url: ‘/GetMeaning/’, data: {“expression” : “testexpression”}, contentType: “application/json; charset=utf-8”, dataType: “json”, success: successFunc, error: errorFunc }); function successFunc(data, status) { $(“#dictionaryDropDown”).html(data); } function errorFunc() { alert(‘error’); } }) 这是控制器: public class GetMeaningController : Controller { // // GET: /GetMeaning/ [HttpGet] public ActionResult Index() { return […]

如何在$ .ajax回调中RedirectToAction?

我使用$ .ajax()每5秒轮询一次动作方法,如下所示: $.ajax({ type: ‘GET’, url: ‘/MyController/IsReady/1’, dataType: ‘json’, success: function (xhr_data) { if (xhr_data.active == ‘pending’) { setTimeout(function () { ajaxRequest(); }, 5000); } } }); 和ActionResult动作: public ActionResult IsReady(int id) { if(true) { return RedirectToAction(“AnotherAction”); } return Json(“pending”); } 我必须将动作返回类型更改为ActionResult才能使用RedirectToAction(最初它是JsonResult而我正在返回Json(new { active = ‘active’ }; ),但它看起来很难重定向并呈现新的View在$ .ajax()成功回调中。我需要从这个轮询ajax回发中重定向到“AnotherAction”.Firebug的响应是来自“AnotherAction”的视图,但它不是渲染。

复制id是否搞砸了jquery选择器?

如果我有两个div,都有id =“myDiv” 将$(“#myDiv”).fadeOut(); 淡出两个div? 或者它会在第一/第二次消失? 或者根本没有? 如何更改哪一个淡出? 注意:我知道重复的ID是违反标准的,但我正在使用fancybox模式弹出窗口,它会在页面上复制弹出窗口内容的指定内容。 如果有人知道解决这个问题(也许我使用fancybox错误),请告诉我。

从ASP.NET MVC返回null时,jQuery post JSON失败

我使用ASP.NET MVC从jQuery发布JSON,并使用这个小库函数获取一些JSON: (function($) { $.postJson = function(url, data) { return $.ajax({ url: url, data: JSON.stringify(data), type: ‘POST’, dataType: ‘json’, contentType: ‘application/json; charset=utf-8’ }); }; })(jQuery); 显然我会这样称呼: $(‘#button’).click(function() { $.postJson(‘/controller/action’, { Prop1: ‘hi’, Prop2: ‘bye’ }) .done(function(r) { alert(‘It worked.’); }) .fail(function(x) { alert(‘Fail! ‘ + x.status); }); }); ASP.NET MVC 3和ASP.NET MVC 4支持事物的提交方面(在此之前您需要扩展ASP.NET MVC来处理提交JSON),但我遇到的问题是返回。 在Controller上我经常返回null,基本上说“成功,没别的说”,如: […]