Tag: asp.net mvc

虚拟目录中的Javascript不知道虚拟目录

假设我有网站http:// localhost / virtual其中virtual是虚拟目录 我有一个使用JQuery在javascript文件中定义的Ajax请求 $.getJSON(“/Controller/Action”) 调用此方法时,客户端会尝试在根级别找到URL,即http:// localhost / Controller / Action 如果我添加了波形符(〜)符号,它将变为http:// localhost / virtual /〜/ Controller / Action 它应该(如果它是我想要的那样)解析为http:// localhost / virtual / Controller / Action 有想法该怎么解决这个吗?

使用jQuery $ .ajax()和$ .post()将字符串数据发送到MVC控制器

必须有一些我想念的东西。 我已经尝试使用$ .ajax()和$ .post()将字符串发送到我的ASP.NET MVC控制器,并且在到达Controller时,字符串在到达时为空。 所以这是我尝试的post方法: $.post(“/Journal/SaveEntry”, JSONstring); 这是我尝试的ajax方法: $.ajax({ url: “/Journal/SaveEntry”, type: “POST”, data: JSONstring }); 这是我的控制器: public void SaveEntry(string data) { string somethingElse = data; } 对于后台,我使用JSON.stringify()序列化了一个JSON对象,这已经成功了。 我正在尝试将它发送到我的Controller以反序列化()它。 但正如我所说,字符串每次都是空的。 有任何想法吗? 非常感谢。 更新:回答我的问题是我没有使用键/值对作为$ .post()的参数。 所以我尝试了这个,但字符串仍然作为null到达Controller: $.post(“/Journal/SaveEntry”, { “jsonData”: JSONstring });

哪个Javascript历史回复实现最好?

在Micrososft AJAX和jQuery( http://www.asual.com/jquery/address/ )中有history.back的实现。 我已经在我的项目中包含了jQuery和asp.net ajax,但我不确定history.back的哪个实现更好。 对我来说更好的是: 已经被一些大型项目使用过 广泛的浏览器支持 易于实施 占地面积小 有人知道哪一个更好吗? 编辑: 另一个jquery插件是http://plugins.jquery.com/project/history它在JQuery Cookbook一书中推荐。 这个到目前为止运作良好。

“JQuery”未定义

我正在使用本地文件系统设置创建的ASP.net项目。 我正在使用MVC和Jquery。 当我在调试模式下运行应用程序时,即在ASP.net开发服务器中,Jquery工作正常。 我试图在IIS 7中托管应用程序。在托管模式下,它无法识别Jquery并提供脚本错误“Jquery未定义”。 两种模式下脚本文件的位置都保持不变。 任何人都可以找到可能的原因以及如何解决这个问题。 我的代码看起来像这样; //this hides the javascript warning if javascript is enabled (function($) { $(document).ready(function() { $(‘#jswarning’).hide(); }); })(jQuery); ….

从MVC 4中的数据库填充Select2下拉框

我需要帮助编写jquery / ajax来填充Select2下拉框。 对于那些不知道Select2是什么的人来说,它是一个javascript扩展,为html选择列表下拉框提供Twitter Bootstrap外观和搜索/提前输入function。 有关更多信息,请查看此处的示例: Select2 Github页面 更新 – 解决了! 所以我最终将这一切放在一起,我的问题的解决方案是我缺少格式化结果和列表选择的函数。 下面的代码生成一个function齐全的Select2保管箱,完美地预先输入。 控制器上的Json方法: public JsonResult FetchItems(string query) { DatabaseContext dbContext = new DatabaseContext(); //init dbContext List itemsList = dbContext.Items.ToList(); //fetch list of items from db table List resultsList = new List; //create empty results list foreach(var item in itemsList) { //if any item contains […]

在一个页面中以两种不同的forms使用多个@ Html.AntiForgeryToken()是否可能/正确?

我一直面临着@Html.AntiForgeryToken()严重问题。 我有一个注册控制器,它有一个创建视图来创建/注册新成员。 出于这个原因,我使用@Html.AntiForgeryToken()而不使用我的主提交表单中的任何SALT。 现在我想validation用户名是否已存在于我的用户名文本框的blur事件的数据库中。 为了validation,我编写了一个名为“Validation”的新控制器,并使用常量validationSALT编写了一个方法: [HttpPost] [ValidateAntiForgeryToken(Salt = @ApplicationEnvironment.SALT)] public ActionResult username(string log) { try { if (log == null || log.Length < 3) return Json(log, JsonRequestBehavior.AllowGet); var member = Membership.GetUser(log); if (member == null) { //string userPattern = @"^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$"; string userPattern = "[A-Za-z][A-Za-z0-9._]{3,80}"; if (Regex.IsMatch(log, userPattern)) return Json(log, JsonRequestBehavior.AllowGet); } } catch (Exception ex) […]

处理用户在ASP.NET MVC网站中点击“Enter”键

我正在使用具有多个提交按钮的ASP.NET MVC网站。 即 我需要允许用户通过按“Enter”键快速提交表单。 HTML标准似乎指定如果用户按下“Enter”键,将假定第一个提交按钮。 但是,我需要将第二个按钮(即“确定”)按钮设为默认按钮,并且由于我甚至不想谈论的原因,更改按钮顺序不是一个选项。 我google了一下,我发现这篇文章关于在ASP.NET中使用Page.Form.DefaultButton,但这不适用于ASP.NET MVC。 我也尝试了以下javascript解决方案,虽然它在Chrome中有效但在IE6中不起作用 $(‘body’).keypress(function(e) { if (e.which === 13) { $(“input[value=’OK’]”).trigger(‘click’); } }); 我可以想到一些非常极端的解决方案,例如通过表单中的每个控件将上述函数附加到它们上面。 但是,我不认为这是一个非常简洁的解决方案,所以我想知道有没有人有更好的解决方案?

使用AJAX MVC 4填充DropDownList

我有一个包含2 @ DropDownListFor的助手的视图: @using (Html.BeginForm(“CreateOneWayTrip”, “Trips”)) { @Html.ValidationSummary(false); Enter Your Trip Details Start Point @Html.DropDownListFor(m => m.StartPointProvince, (SelectList)ViewBag.Provinces, new { @Id = “province_dll”, @class = “form-control” }) @Html.DropDownListFor(m => m.StartPointCity, (SelectList)ViewBag.Cities, new { @Id = “city_dll”, @class = “form-control” }) } 这是我用来捕获数据的临时模型: public class CaptureCreateTrip { [Required] [Display(Name = “Trip ID”)] public string TripID { […]

返回部分视图的控制器操作会在授权失败时插入登录页面

我有一个视图,使用jQuery从控制器操作加载部分视图。 控制器操作使用Authorize属性进行修饰,如果用户在调用该操作被重定向到正确的LogOn页面时超时,则LogOn页面将插入到部分视图已经消失的视图中。 这里有另一篇文章描述了使用jQuery的解决方案,但不幸的是它不包含任何代码示例,这是我需要的,因为我不是很熟悉jQuery(以及新的Web开发),我需要解决这个问题我会尽快。 我想要做的就是将用户重定向到正确的LogOn页面,这对我来说听起来很顺利,但到目前为止似乎并不是这样。 如果jQuery是要走的路,有人可以发一个代码示例,这真的会帮助我。 谢谢。

ASP.NET MVC中的Ajax FileUpload和JQuery formData

将formData发布到服务器端操作方法时formData问题。 因为ajax调用不会将文件发送到服务器,所以我必须手动将文件上载器数据添加到formData ,如下所示: var formData = new FormData(); formData.append(“imageFile”, $(“#imageFile”).file); formData.append(“coverFile”, $(“#coverFile”).file); 我编写了jQuery函数,需要使用ajax调用将表单数据发布到服务器。 它的工作原理,但在服务器端发布的formData始终为null! 这是我的脚本: function SubmitButtonOnclick() { var formData = new FormData(); formData.append(“imageFile”, $(“#imageFile”).file); formData.append(“coverFile”, $(“#coverFile”).file); $.ajax({ type: “POST”, url: ‘@Url.Action(“EditProfile”, “Profile”)’, data: formData, dataType: ‘json’, contentType: “multipart/form-data”, processData: false, success: function (response) { $(‘#GeneralSection’).html(response.responseText); }, error: function (error) { $(‘#GeneralSection’).html(error.responseText); } }); } […]