Tag: asp.net mvc 3

jQuery when()。done()不适合我

我有下面的jQuery代码,但是when().done()对我来说不能正常工作。 updateResultFooter()被称为bedore, doReverseSearch()方法完成了她的工作。 并且因此,我的视图中的按钮被启用,然后在doReverseSearch()方法中replace之后重新获取其默认值(desabled)。 $(“#idBnSearch”).click(function () { $.when(doReverseSearch(telValue, pageIndex, methodUrl)) .done(function () { updateResultFooter(“@ViewBag.CountResult”, pageIndex, “@ViewBag.PageCount”); }); }); function updateResultFooter(resultCount, pageIndex, pageCount) { if (pageIndex == 0) $(“#bnPreviousPage”).attr(‘disabled’, ‘disabled’); else $(“#bnPreviousPage”).removeAttr(‘disabled’); if ((pageIndex + 1) == pageCount) $(“#bnNextPage”).attr(‘disabled’, ‘disabled’); else $(“#bnNextPage”).removeAttr(‘disabled’); } function doReverseSearch(telValue, pageIdx, methodUrl) { $.ajax( { url: methodUrl, type: ‘post’, data: JSON.stringify({ […]

Ajax文件上传在IE7中不起作用

我已经在asp.net mvc3中使用这个插件通过Ajax上传文件。 http://malsup.com/jquery/form/#ajaxSubmit但它在IE7中不起作用。 $(“#Controls”).submit(function () { var options = { url: “/Education/upDoc”, datatype: “json”, success: showResponse }; $(this).ajaxSubmit(options); }); function showResponse(responseText, statusText, xhr, $form) { alert(“sr”); alert(“Sr ” + responseText.success); if (responseText.success == true) { //some code } } File Type @* *@ @Html.DropDownList(“documentType”, doctypelist, new { @id = “documentType” }) Name 在这里, showResponse()永远不会被IE7调用。 适用于Chrome和Firefox。请帮忙!

使用ajax自动完成。 jQuery插件或jQuery UI小部件?

如果我做对了,jQuery自动完成插件和jQuery UI自动完成小部件之间存在差异。 哪一个更好,你建议使用? 我支持第二个,但我不确定。 您还可以向我指出几个示例代码片段。 基本上我需要从动作方法中获取值。

MVC 3中的jQuery自定义validation问题

我正在使用MVC3。 我想在提交页面时在客户端添加自定义检查。但是这样做默认validation不起作用… @using (Html.BeginForm()) { @Html.TextBoxFor(model => model.Title, new { maxlength = 250 , style = “width:450px;” }) @Html.ValidationMessageFor(model => model.Title) } 当我点击提交按钮时,我在下面写了一个validation $(‘#submit’).click(function () {/*code for validation*/ if not satisfied then return false; else return true; } 这很正常。如果返回false,则模型提供的默认validation不起作用。 @Html.ValidationMessageFor(model => model.Title)此代码无效[错误消息未显示]。如何在单击按钮时validation默认validation?

$ .ajax调用后RedirectToAction MVC 3

从我的角度来看,我通过$ .ajax将一个JSON对象发送到我的控制器,以将其保存在数据库中。 如果全部成功,我想重定向到另一个将显示不同视图的操作。 如果我使用此代码: return RedirectToAction(“CreatePage”, “Survey”, new {id = question.PageId}); 执行进入Survey控制器,它返回一个视图,但不显示。 我已经阅读了一些post,其中说通过ajax重定向是不可能的。 到目前为止我使用的解决方案是通过javascript重定向,如下所示: success: function (ret) { window.location.href = “/Survey/CreatePage/” + $(“#PageId”).val(); } 虽然这总是有效,但有时我需要刷新CreatePage视图以显示最后所做的更改。 如何更好地解决这个问题呢? 提前致谢

从控制器返回Json,从未成功

我使用以下代码成功发布到我的控制器,但是,成功永远不会被命中只有错误。 我究竟做错了什么? JS: $.ajax({ url: ‘/Home/Subscribe’, type: ‘POST’, dataType: ‘json’, data: { email: $(‘#sube’).val() }, success: function (data) { // get the result and do some magic with it alert(data.foo); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); } }); 控制器: [HttpPost] public JsonResult Subscribe(string email) { return Json(new { foo = “bar”, baz = […]

显示:没有字段未发布到控制器

我有一个灯箱,其中包含一堆输入元素,我使用HTML帮助程序为创建操作设置了这些元素。 它们是可选字段,但我在jqueryvalidation中将数字规则应用于它们。 用户可以打开此灯箱,并根据需要填写字段,但不是必需的。 它与其他数据的格式相同,但要提交,他们必须关闭此灯箱。 在提交时,不会将灯箱中的值发布到控制器。 如果我从灯箱中删除输入,它可以正常工作。 它必须与隐藏它有关,但为什么会发生这种情况呢? 是jquery吗? 我有’voavi-ignore’作为我的忽略类,所以它仍然应该validation这些。 因为我已经有一段时间了,所以我对此感到困惑和焦虑。 我页面上的其他所有内容都运行良好,我只是将这些新字段添加到灯箱中。 JS: $(document).ready(function () { InitTab(); $(“#caseProductions”).hide(); $(“.chzn-select”).chosen(); $(“.filetypes”).click(OnNewVOAVIClick); $(“.countPerCase”).change(OnCaseProdChange); $(“.caseCount”).change(OnCaseProdChange); $(“.drinkWindow”).change(OnDrinkWindowChange); $(“#lnkCaseProduction”).click(OnCaseProdOpen); VintageUpAlert(); $.validator.addMethod(“decimalNumber”, function (value, element) { return this.optional(element) || (!isNaN(value)); }, “Must be a valid number”); wineValidator = $(“form”).validate({ errorPlacement: function (error, element) { var x = element.parent(); error.appendTo(element.closest(“td”)); }, ignore: “.voavignore”, […]

如何修改查询数据表的ajax url?

我想要做的是修改数据表的sAjaxSource,如果combobox中的值更改,然后我想调用数据表的fnDraw()函数 数据表是: $(“#example”).dataTable({ “aoColumns”: [ { “sTitle”: “Id” }, { “sTitle”: “Name” }], “bProcessing”: true, “bServerSide”: true, “sAjaxSource”: ‘@Url.Action(“FetchData”, “Home”)’, “sPaginationType”: “full_numbers”, }); 到目前为止我所拥有的是:C#代码: public JsonResult GetData(DataTableParameters param, int? SelectedId) { //return the results } 并且用于更改值的JavaScript代码是: $(‘#SelectedId’).change(function () { alert(“Hi”); $(“#example”).dataTable( {sAjaxSource:”/home/FetchData?SelectedId=1″}).fnDraw(true); ; }); 它到达警报(“Hi”)点,但它没有重绘表格。 我如何让它工作?

整个页面上的jQueryvalidation

我有一个在ASP.NET MVC 3中开发的网页,我正在使用jQueryvalidation器来validation我的字段。 $.validator.setDefaults({ errorContainer: “#validationSummary, #validationNotice”, highlight: function (element, errorClass) { $(element).css(“border”, “1px dotted red”); }, unhighlight: function (element, errorClass) { $(element).css(“border”, “1px solid black”); } }); 当它们无效时,这将为我的字段提供“红色虚线边框”。 我有一个文本,我想显示如果所有字段在我的页面中有效。 All fields are valid. 因此,如果我的页面无效,我想隐藏“ReadyToSend”,如果页面上的所有字段都有效,则显示它。

MVC 3 Razor – 在Ajax请求中访问ViewData(Jquery,JavaScript)

我正在编写一些代码,用户可以在提交表单之前检查数据库中是否已存在用户名。 这适用于onkeyup事件处理程序,它从文本框中获取值并将其传递给ajax请求,该请求使用字符串参数调用我的ActionResult方法。 我的SQL逻辑工作正常,我收到一个已经存在或不存在的值。 我的问题来自我的控制器,我想返回值。 在我的Jquery Ajax请求的成功部分,我试图访问我的ViewData [“索引名称”]但我的警报显示一个空字符串。 Javascript代码: function searchUsername() { var filters = getFilterVals(); $.ajax({ url: ‘@Url.Action(“UsernameSearch”, “UserManager”)’, type: “POST”, async: true, dataType: “text”, data: “username=” + filters.username, success: function () { var str = ‘@ViewData[“UserName”]’; alert(str); $(‘#txtUsernameExists’).val(str); configureGui(); jQueryTableStyling(); }, error: function (data) { } }); } function getFilterVals() { filters = new […]