Tag: c#

为什么Nuget Javascript包会复制到Scripts文件夹

当我将来自Nuget的jQuery安装到我的VS C#项目中时,jquery.js最终会出现在我的packages文件夹中。 这很好,因为我不想将这个文件检查到我的源代码控制中,因为它不是我的代码而且我永远不会改变它 – 在这个上下文中它相当于我可能通过不同的包得到的DLL 。 到现在为止还挺好… 那么,为什么包安装程序也会将文件复制到项目Scripts文件夹中,当然最好将它作为指向packages文件夹中文件的链接添加到项目中,就像引用Nuget包DLL一样通过该项目。

在IE中,XML未通过响应对象正确发送到客户端

我有一个上传控件,它从客户端调用一个处理程序,并将一串xml发送回客户端。 下面的代码在chrome中运行良好,但是在IE中将奇怪的xml发送回客户端。 处理程序代码: public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count > 0) { var uploadInfo = context.Request.Files[0]; var uploadStream = uploadInfo.InputStream; var upload = new byte[uploadInfo.ContentLength]; uploadStream.Read(upload, 0, uploadInfo.ContentLength); var payload = System.Text.Encoding.UTF8.GetString(upload); XmlDocument doc = new XmlDocument(); doc.LoadXml(payload); context.Response.ContentType = “application/xml”; context.Response.Write(doc.OuterXml); //context.Response.Write(payload); } } 在发送到客户端之前从处理程序调试的XML字符串(看起来正确) 然后发送回的XML字符串是:   <?xml version=”1.0″ ?> – <ApplicationData>   […]

AJAX将多个数据发布到ASP.Net MVC

我通过ajax jquery将多个对象发布到MVC 4控制器时遇到问题。 已经好几周了,但我似乎无法找到解决方案。 我尝试了几种方法,有时filterModel对象为null,有时字符串参数为null(即使我指定了contentType或不指定contentType也无关紧要) 我想要的是? 我想传递三个对象:1。filterModel 2.testparamA 3.testparamB如何将所有三个对象传递给MVC控制器? 我需要在数据中写什么:所以我得到所有3个对象值? 最简单的控制器 [HttpPost] public JsonResult Test(string testparamA, string testparamB, FilterModel filter) { using (RBSystemEntities repository = new RBSystemEntities()) { return Json(new { DataList = repository.Items.Select(x => new {x.PKID, x.ItemName}).ToList(), Result = “OK” }); } } 最简单的观点 var filterModel = @Html.Raw(Json.Encode(new FilterModel(“ItemName”, “Pepperoni Pizza”))) //filterModel = JSON.stringify(filterModel); […]

序列化System.Globalization.CultureInfo类型的对象时检测到循环引用

我正在使用jquery来调用webservice,它返回一个包含几个表的数据集。 这工作正常,直到我需要设置我的webmethod接受参数。 我在客户端反映了这一点 data: “{paramname:'” + paramval+ “‘}”, 我现在在webmethod返回时收到以下错误。 无论数据集中返回什么,都会发生这种情况 错误:{“消息”:“在序列化类型为\ u0027System.Globalization.CultureInfo \ u0027的对象时检测到循环引用。”,“StackTrace”:“在System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object o ,StringBuilder sb,Int32 depth,Hashtable objectsInUse,SerializationFormat serializationFormat)\ r \ n at … etc 当webmethod没有参数时,客户端js看起来与下面相同,除了data:line被删除。 function ClientWebService(paramval){ $.ajax({ type: “POST”, url: “WebService1.asmx/webmethodName”, data: “{paramname:'” + paramval+ “‘}”, contentType: “application/json; charset=utf-8”, dataType: “json”, success: function(msg) { ParseResult(msg.d); }, error: function(err) { if (err.status == […]

该字段必须是数字

我有这个领域: public decimal Price { get; set; } 在数据库中它是十进制的(7,2)。 视图: @Html.EditorFor(model => model.Price, new { htmlAttributes = new { @class = “form-control” } }) 如果我用逗号放一个值,MVC默认validation不接受,说: “The field must be a number” 。 (我尝试使用正则表达式,但没办法) 例如: 5,00, 55,00 or 555,00 这个: public DateTime date { get;set; } 视图: @Html.EditorFor(model => model.Date, new { htmlAttributes = new { […]

当网页执行回发时,如何在注册表单上停止?

我正在做我的最后一年项目。 其中: 我在一个页面上有登录和注册表单(WebForm): 当用户点击锚点时,在Javascript客户端注册 DropDown ddlType (隐藏)和TextBoxes – txtCustName , txtEmail和txtConfirmPassword (Displays): function signupClick() { document.getElementById(‘divType’).style.display = ‘block’ ? ‘none’ : ‘block’; document.getElementById(”).style.display = ‘inherit’; document.getElementById(”).style.display = ‘inherit’; document.getElementById(”).style.display = ‘none’; document.getElementById(”).style.display = ‘inherit’; document.getElementById(‘lblLogin’).style.display = ‘inherit’; document.getElementById(‘lblSignup’).style.display = ‘none’; } 登录表格:- 当用户点击锚点时,在Javascript客户端登录 DropDown ddlType (Displays)和TextBoxes – txtCustName , txtEmail和txtConfirmPassword (Hides): function loginClick() { document.getElementById(‘divType’).style.display […]

ASP.NET MVC 4:在Javascript中更改隐藏字段的值

我有一个隐藏的布尔字段: @Html.HiddenFor(x => x.IsTurkey) 在jQuery脚本中我尝试更改它: $(“@Html.IdFor(x => x.IsTurkey)”).val(“False”); 但在post背面IsTurkey没有改变: HttpPost] [ValidateAntiForgeryToken] public ActionResult Search(TurkeyModel model) { …} 使用上面的jQuery,如何更改MVC 4中隐藏的布尔字段的值?

为什么Ajax不发送数据?

如果输入变量(a)未设置为Null,则以下Ajax代码甚至不会触发我的操作。 Ajax代码: var ab = “Chocolate Smoothies ya know?”; $(“#customerSubmit”).submit(function (e) { e.preventDefault(); $.ajax({ url: “/api/Booking/lander”, method: “post”, data: { a: ab } }) }); 以下我的控制器代码: [HttpPost] public void lander(string a) { System.Diagnostics.Debug.WriteLine(a); } 当我没有将它设置为null时,收到的输入为空。 触发断点时的屏幕截图: 我已经使用了类型/方法/等等。似乎没什么用 更新: 我甚至尝试了以下但没有用: 更新2: 即使以下不起作用,以下之一也给了我 – >“无法加载资源:服务器响应状态为405(方法不允许)” var ab = ‘Chocolate Smoothies ya Know?’; $.ajax({ url:”/api/Booking/lander”, data: {”: ab} […]

从ajax调用WebApi时如何调试500内部服务器错误?

我在MVC 4.5 WebApi项目中收到500内部服务器错误。 我可以通过GET和带有ID的GET成功调用我的web服务。 但是,当我发布文件时,我收到错误。 我可以在Application_BeginRequest()设置一个断点,并确认我先收到一个OPTIONS请求,然后是POST。 控制器中的方法没有被调用,我已经向Global.asax.cs添加了一个也没有被命中的Application_Error()方法。 html页面正在进行CORS,但我已经使用ThinkTecture.IdentityModel处理了这个问题 。 我在这里关注文件上传的代码。 有任何想法吗? 这是客户端代码: var UploadDocument = function () { var url = sessionStorage.getItem(“url”); var auth = sessionStorage.getItem(“auth”); var data = new FormData(); jQuery.each($(‘#fileToUpload’)[0].files, function (i, file) { data.append(‘file-‘ + i, file); }); jQuery.support.cors = true; $.ajax({ type: “POST”, url: url, data: data, cache: false, processData: false, […]

使用jQuery AJAX调用向MVC操作发布图像

我有以下代码: $(“#preview”).click(function () { $.ajax({ type: ‘POST’, url: ‘@Url.Action(“Preview”)’, data: { color: $(“#color-picker”).val(), logo: $(“#fileInput”)[0].files[0] }, success: function (data) { alert(“Success!”); }, dataType: “json” }); }); 哪个使用这个元素: 尝试将图像发布到此MVC操作: [HttpPost] public async Task Preview(string color, HttpPostedFileBase logo) { return Json(“Success.”); } 不幸的是,当我发帖时,我得到了Uncaught TypeError: Illegal invocation Chrome的日志中的Uncaught TypeError: Illegal invocation 。 根据堆栈跟踪,这个错误来自jQuery方面。 $(“#color-picker”).val() $(“#fileInput”)[0].files[0] $(“#color-picker”).val()和$(“#fileInput”)[0].files[0]在我打开电话之前在Chrome Developer Tools的手表中检查它们时没有任何问题(一个是一个带有相应颜色代码的string […]