Tag: c#

表单数据未在asp.net核心mvc控制器模型中序列化

C#模型类 public class SubCategoryTwoViewModel { public long Id { get; set; } public string SubCatTwoName { get; set; } public CategoryViewModel Category { get; set; } public SubCategoryOneViewModel SubCatOne { get; set; } public string PictureUrl { get; set; } public List File { get; set; } public UserViewModel AddedBy { get; set; } public […]

如何从WCF服务流下载文件?

我正在尝试通过使用jQuery调用WCF服务来远程下载CSV文件。 由于该文件实际上并不驻留在服务器上,我一直试图将其作为流返回。 由于我使用Content-Disposition标头,客户端的浏览器应自动开始下载具有给定文件名的文件。 我在C#中的WCF服务方法: [OperationContract()] public Stream GetCsvFile(int id) { string s = …; WebOperationContext.Current.OutgoingResponse.ContentType = “text/csv”; WebOperationContext.Current.OutgoingResponse.Headers[“Content-Disposition”] = “attachment; filename=\”file1.csv\””; return GenerateStreamFromString(s); } public Stream GenerateStreamFromString(string s) { MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); writer.Write(s); writer.Flush(); stream.Position = 0; return stream; } 我的jQuery AJAX请求: $.ajax({ type: “POST”, url: serviceUrl, cache: […]

如何将一个对象数组传递给jQuery Ajax理解的格式?

我有一个具有以下function的asmx Web服务: [WebMethod] public List GetTags() { List TagList = new List(); DataTable dt = Helpers.Tags.GetTags(); foreach (DataRow dr in dt.Rows) { Tag t = new Tag(); t.TagName = dr[“Tag”].ToString(); t.TagDescription = dr[“Description”].ToString(); TagList.Add(t); } return TagList; } 这是标签类: public class Tag { public string TagName { get; set; } public string TagDescription { get; […]

如何将文本框绑定到日期时间字段但仅显示其日期部分(在ASP.MVC中)?

我有一个视图与文本框绑定到DateTime模型字段。 风景: @Html.TextBoxFor(model => model.StartDate, new { @class = “datepicker”, id = “startDate” }) 该模型: [Required(ErrorMessageResourceType = typeof(Resources.ValidationMessages), ErrorMessageResourceName = “GeneralRequired”)] [DisplayFormat(DataFormatString = “{0:dd-MM-yyyy}”, ApplyFormatInEditMode = true)] [DataType(DataType.Date)] [Display(Name = “StartDate”, ResourceType = typeof(Resources.Something))] public DateTime? StartDate { get; set; } View使用jQuery datepicker来处理日期输入。 Jquery只生成日期,但据我所知,C#中不仅有日期类型。 我也使用自定义DateTime模型绑定器,但是发布其代码(tl; dr;))相当大。 当用户在文本框中输入15-01-2015并将其发布到方法时,模型绑定器会将其正确转换(到15-01-2015 12:00)。 问题是当validation被触发时,因为表单上有两个日期时间字段,如果用户只输入其中一个,则action方法返回带有validation消息的视图。 已经进入的领域应该仍然显着填补。 问题是当控制器的action方法返回视图时,它会将日期时间放入文本框,而不仅仅是日期。 我们可以使用任何方法将日期而不是日期和时间传递给视图中的绑定字段吗? 或者也许保持字段绑定但只显示value.Date在文本框中? 编辑: 我试图应用Hugo […]

Jasny Bootstrap文件上传控件

我在我的asp.net项目中使用Jasny Bootstrap文件上传控件。 它看起来真的很好,但我无法将附件发送到服务器(.ASHX webservice) 我的布局代码看起来像这样 Select fileChangeRemove

带字幕的多图像文件上传

我设法通过foreach循环获取字幕,但现在我正面临一个新问题。 由于嵌套循环,我在数据库中得到重复,请检查下面的代码。 JavaScript的 window.onload = function () { if (window.File && window.FileList && window.FileReader) { var filesInput = document.getElementById(“galleryFilesAdd”); filesInput.addEventListener(“change”, function (event) { var files = event.target.files; //FileList object var output = document.getElementById(“result”); for (var i = 0; i < files.length; i++) { var file = files[i]; if (!file.type.match('image')) continue; var picReader = new FileReader(); […]

Fetch API调用会导致新的Asp.net会话

我正在我的一个asp.net mvc项目中删除jQuery,转而使用直接的vanilla JS。 现在我已经用Fetch API调用替换了$.ajax POST调用,每次调用都会触发服务器上的新会话。 在过去的几天里,这一直在推动我的发展,我已经将其缩小到专门从使用jQuery Ajax到Fetch API的转变。 我的新Fetch API调用工作正常,仍然执行所需的服务器端工作。 一旦他们返回,它就会触发一个新的服务器会话。 显然,这是一个主要问题,因为我的用户会话数据不断重置。 知道为什么会这样吗? 或者任何人都知道任何变通方法,而不必恢复使用jQuery? 我之前基于’jQuery’的POST调用: Post(route, data) { $.ajax({ type: ‘POST’, url: route, data: JSON.stringify(data), contentType: “application/json; charset=utf-8” }).done((result, statusText, jqXHR) => { return result; }); } 我新的’基于Fetch API’的电话: async Post(route, data) { let response = await fetch(route, { method: ‘POST’, headers: { ‘Accept’: […]

如何通过HttpPostedFileBase和ViewModel一起发送上传的文件?

我有一个巨大的数据对象,应该通过控制器参数映射到视图模型。 我还有一个文件列表(照片),我需要在上述数据对象的数组中捕获。 我的型号: public class TestPerson { public int Id { get; set; } public string Name { get; set; } public string Place { get; set; } public int Age { get; set; } public byte[] File { get; set; } //[FileSize(10240)] //[FileTypes(“jpg,jpeg,png”)] //public HttpPostedFileBase File { get; set; } } 我的控制器方法: public void […]

自动完成jquery无法正常工作?

我有一个文本框,里面我希望它自动完成。 自动完成的数据将通过数据库给出。 这是我的Jquery: var data = “autocompletetagdata.aspx” $(“#item”).autocomplete({ source: data }); 这就是我现在放在autocompletetagdata中的内容: protected void Page_Load(object sender, EventArgs e) { string term = Request.QueryString[“term”]; SqlConnection myConnection = new SqlConnection(connStr); myConnection.Open(); string SQL = (“select Top 10 LTRIM(RTRIM(PGPRDC)) As PGPRDC FROM SROPRG SROPRG”); SqlCommand myCommand = new SqlCommand(SQL, myConnection); StringBuilder sb = new StringBuilder(); try { SqlDataReader […]

在ajax中传递参数获取null值

我正在使用ajax调用一个动作控制器,但是当动作控制器收到它时,我传递的data属性参数总是为空……这里可能发生什么? JQuery函数: function PostOrder() { var id = $(“.aslink”).data(“customerid”); var url = $(“#btnAddOrderPost”).data(“url_add_order”); $.ajax({ type:”post”, url: url, data: JSON.stringify( { orderVM: $(“#frmCreatePV”).serialize()}), datatype: “json”, contentType: “application/json”, success: function () { alert(“it was inserted”); } }) } 动作控制器: [HttpPost] // [ValidateAntiForgeryToken] public ActionResult CreatePV(OrderVM orderVM) { if (ModelState.IsValid) { List top = new List(); decimal tempPrice […]