Tag: asp.net mvc 4

如何在.net MVC 4中中止长时间运行的Ajax请求?

我找到了几个答案,包括这个和这一个 。 但由于某种原因, this.Response.IsClientConnected仍然true 。 这是我的客户: Close @using (Html.BeginForm(“List”, “Visit”, FormMethod.Post, new { @id = “formFilter” })) { //Some models some TextBoxFor etc. } var ajaxCallObject = null; $(document).ready(function () { $(‘form’).submit(function () { ajaxCallObject = $.ajax({ url: this.action, type: this.method, data: $(this).serialize(), beforeSend: function () { toggleBusyIndicator(); }, complete: function () { toggleBusyIndicator(); }, […]

如何在MVC中点击EDIT按钮将DropdownList更改为可编辑的文本框?

我必须在单击“编辑”按钮后将我的下拉列表更改为可编辑的文本框。 这里我在CSHTML文件中有一个Dropdownlist,当我在DDL中选择一个值时,文本框会从表中填充相应的值。 这是我的模特 当我使用ADO.NET实体将表从数据库连接到MVC时,VS会自动生成此Plan_S Model类 public partial class Plan_S { public int PlanId_PK { get; set; } public string PlanNames { get; set; } public string Hours { get; set; } public string PlanCost{ get; set;} 上市 } 创建此类是为了列出Plan_S类 public class PlanViewModel { public List Plans { get; set; } } 我的控制器是 public class dropdownController […]

window.location或window.location.href没有更改所有浏览器MVC应用程序中的值

目前的url是 http://xx.com/Home/Employee 当我点击取消按钮需要从位于另一个文件夹中的不同动作结果导航时,我的页面中有取消按钮 例如:关于/结果 (即http://xx.com/About/Result )我的取消function中有以下代码 function cancel() { window.location = ‘@Url.Action(“Result”, “About”)’; return false; } 尝试了所有的方式 window.location.href= “/About/Result” window.location.pathname=”/About/Result” 但它仍然没有改变旧的价值。它只保留旧的价值。 提到这么多链接就好 window.location.href不会更改URL https://developer.mozilla.org/en-US/docs/Web/API/Window.location 但是当我试图给予 window.location.href=”http://www.google.com” 它工作正常 。 为什么我无法从动作导航到另一个目录的另一个动作。 任何问题 ? 确切的根本原因是什么?

MVC 4和jQuery getJSON

我必须在大学的项目中实施某种实时搜索。 我有以下代码:MVC Action: [Authorize] [AcceptVerbs(HttpVerbs.Get)] [InitializeSimpleMembership] public JsonResult Search(string term) { var data = … // get matching item return Json(data, JsonRequestBehavior.AllowGet); } 脚本视图: $(document).ready(function() { $(“#searchText”).keyup(function() { $.getJSON(‘/Search/Search’, { “term”: $(this).val() }, function(result) { alert(result); $(“#searchText”).val(result.d); }); }); }); 调用控制器动作并返回匹配的对象,但javascript函数从不被调用,没有警报框,什么也没有。 有什么办法让这项工作成功?

JSON日期未发布到控制器(KnockoutJS / JQuery,MVC 4 RC)

我有一个KnockoutJS视图模型,我将其作为JSON对象发布到MVC控制器,如下所示: var dataObj = ko.toJSON(viewModel); $.post(postURL, dataObj, callBackFunc); 模型本身具有出生日期字段: dataObj.DOB 但是每当我的MVC控制器收到它时,DOB字段总是#12:00:00 AM# (VB.NET) 这是我的控制器: _ _ Public Function PersonalDetails(PersonalInfo As DetailsViewModel.PersonalDetails) ‘clean the null values Dim newValues As Dictionary(Of String, String) = _getPropertyDict(PersonalInfo) Dim repo As New DetailsViewModelRepository() For Each entry In newValues repo.InsertUpdateField(PersonalInfo.MemberId, entry.Key, entry.Value) Next Return PartialView(“~/Views/Home/Details/PersonalDetails.vbhtml”, PersonalInfo) End Function 如何让它正确收到日期?

使用@HTML帮助程序DropDownList更新.html

MVC4,C#,jQuery,Razor视图(.cshtml) 我正在尝试用@ HTML.DropDownList更新节点的.html(): $(‘#CmpMASttF’).html(‘@Html.DropDownList(“CmpAdrsSt.State”, (IEnumerable)ViewBag._State) @Html.ValidationMessageFor(m => m.CmpAdrsSt.State) ‘); 这适用于@ HTML.EditorFor: $(‘#CmpMASttF’).html(‘@Html.EditorFor(m => m.CmpAdrsSt.State) @Html.ValidationMessageFor(m => m.CmpAdrsSt.State) ‘); 这是要更新的节点: <td tate: @ HTML.DropDownList代码本身可以正常工作,因此不是问题的根源: State: @Html.DropDownList(“CmpAdrsSt.State”, (IEnumerable)ViewBag._State) @Html.ValidationMessageFor(m => m.CmpAdrsSt.State) 当我尝试使用带有jQuery .html()的@HTML.DropDownList更新节点时,javascript块中的所有代码都被禁用。 我尝试编码字符串: var test = ‘@Ajax.JavaScriptStringEncode(“Html.DropDownList(\”CmpAdrsSt.State\”,(IEnumerable)ViewBag._State)”)’ 但是当注入.html()时,它呈现为字符串而不是HTML DropDownList帮助器(在HTML之前添加@,“@ HTML.DropDownList …”没有区别)。 如何使用@HTML.DropDownList更新节点的.html()? 谢谢

在MVC控制器中构建网格

我有一个模式/设计问题。 在asp mvc应用程序的控制器中构建网格被认为是不好的做法吗? 例如,jqgrid有服务器端适配器,您可以在其中填充特定模型以构建网格。 这包括构造列,包括列选项(宽度,sortindex,exitable等)。 我通常会将网格的构造看作应该驻留在视图中的表示模板/脚手架。 我通常更喜欢将网格设置代码保留到视图中,并让控制器将数据传递给视图。 我是以错误的方式想到这个吗? 谢谢你的任何想法。

使用WebGrid Helper With Column作为隐藏时,默认排序不起作用

我正在使用@grid.GetHtml gridview在我的ASP.NET MVC4应用程序中显示网格。 使用WebGrid Helper With Column(主键)隐藏时,默认排序不起作用。 使用SP获取Web网格数据,并在SP中给出默认排序。 我的代码: @grid.GetHtml( htmlAttributes: new { id = “XXXX” }, tableStyle: “table table-bordered table-condensed table-hover table-striped”, headerStyle: “info”, footerStyle: “webgrid-footer”, alternatingRowStyle: “webgrid-alternating-row”, selectedRowStyle: “webgrid-selected-row”, rowStyle: “gridrow”, columns: grid.Columns( grid.Column(“AAAA”, “AAAA”,style:”hidecol”) //Primary Column Name is “AAAA” ) ) JQuery代码隐藏主列的列标题。 $(document).ready(function() { $(“# XXXX th:nth-child(1)”).hide(); });

Javascript事件处理程序不拦截表单提交

我使用的是asp.net mvc 4 razor,我有一个主视图,它有一些复选框和一个提交按钮。 这些复选框表示要执行的任务。 用户通过复选框选择要执行的任务,然后通过单击提交按钮启动该过程。 我有一个div块,我想在控制器中放置操作的进度,它们当前正在完成的任务。 单击提交按钮后,我想要启动第一个脚本(主要脚本),然后完成下一个任务。 问题是,第一个主要脚本然后按顺序调用其他脚本不会被调用。 我正在使用ASP.NET MVC 4 代码下面。 视图: @using (Html.BeginForm( “PerformTasks”, “Tests”, FormMethod.Post, htmlAttributes: new { id = “frm” })) { (…) @Html.CheckBoxFor(m => m.task01)Task 1 @Html.CheckBoxFor(m => m.task02)Task 2 (…) } // First ajax script $(“#frm”).submit(function (event) { $(“#frm”).validate(); if ($(“#frm”).valid()) { $.ajax({ url: “/Tests/PerformTasks/”, type: ‘POST’, data: […]

JTable:’在更新或删除记录时与服务器通信时发生错误’

到现在为止,我几个小时都陷入了这个问题。 我试图通过删除或编辑它来更新一行jTable的记录,但每次我都面临同样的错误(即在与服务器通信期间发生错误)。 我尝试了很多来解决这个问题,但直到现在还没有成功。 我成功地能够添加记录(即类’教授’的对象)。 但是没有执行编辑,并且没有执行相应对象(即教授)控制器的HTTPPost启用方法。 我附上截图。 此外,以下是jTable代码。 $(document).ready(function () { $(‘#ProfessorTableContainer’).jtable({ title: ‘Professor List’, paging: true, pageSize: 10, sorting: false, actions: { listAction: ‘@Url.Action(“GetProfessors”)’, deleteAction: ‘@Url.Action(“DeleteProfessor”)’, updateAction: ‘@Url.Action(“UpdateProfessor”)’, createAction: ‘@Url.Action(“CreateProfessor”)’ }, fields: { ProfessorId: { key: true, create: false, edit: false, list: false }, ProfessorName: { title: ‘Name’, width: ‘23%’ } } }); $(‘#ProfessorTableContainer’).jtable(‘load’); //Load […]