相关疑难解决方法(0)

在asp.net mvc中使用jQuery ajax上传文件

我的视图中有一个文件

<form id="upload" enctype="multipart/form-data">
   <input type="file" name="fileUpload" id="fileUpload" size="23" />
</form>
Run Code Online (Sandbox Code Playgroud)

和ajax请求

$.ajax({
    url: '<%=Url.Action("JsonSave","Survey")  %>',
    dataType: 'json',
    processData: false,
    contentType: "multipart/mixed",
    data: {
        Id: selectedRow.Id,
        Value: 'some date was added by the user here :))'
    },
    cache: false,
    success: function (data) {}
});
Run Code Online (Sandbox Code Playgroud)

Request.Files中没有文件.ajax请求有什么问题?

ajax asp.net-mvc jquery

70
推荐指数
2
解决办法
12万
查看次数

如何将datetime值附加到formdata并在控制器中接收它

我想知道如何通过formdata传递datetime值并在控制器中检索它并将其转换为控制器中的DateTime

我试过如下:

var formdata=new FormData();
fromDate = $('.from_date').datepicker('getUTCDate');
toDate = $('.to_date').datepicker('getUTCDate');

formdata.append("start", new Date(fromDate));
formdata.append("end", new Date(toDate));
Run Code Online (Sandbox Code Playgroud)

$.ajax我正在设定data:formdata

在我的控制器中,我收到如下:

DateTime frmDate = Convert.ToDateTime(Request.Form["start"]).Date;
DateTime toDate = Convert.ToDateTime(Request.Form["end"]).Date;
Run Code Online (Sandbox Code Playgroud)

但是我在这里System.FormatException尝试了一段时间Convert并且当我保持监视时,Request.Form["start"]那么值将是,"Fri Mar 30 2015 05:30:00 GMT+0530 (Indian Standard Time)"但是当从请求中检索时它将其视为字符串.

是否可以通过日期时间类型Request

javascript c# datetime form-data asp.net-mvc-4

6
推荐指数
1
解决办法
6493
查看次数

JQuery Ajax从客户端上传文件和其他值

我需要将文件上传到服务器并发送GUID值,这两者都是完成操作所需的.

是否可以通过一个$.ajax声明发送两个?

这是我正在使用的上传操作方法的片段

[HttpPost]
public ActionResult Upload()
{
  HttpPostedFileBase file = Request.Files[0];
}
Run Code Online (Sandbox Code Playgroud)

这里是我用来将文件发送到服务器的Javascript代码片段

function upload() {
  var formData = new FormData();
  var totalFiles = document.getElementById("FileUpload").files.length;

  for (var i = 0; i < totalFiles; i++) {
    var file = document.getElementById("FileUpload").files[i];

    formData.append("FileUpload", file);
  }

  $.ajax({
    type: 'post',
    url: '/myController/Upload',
    data: formData,
    dataType: 'json',
    contentType: false,
    processData: false,
    success: function (response) {
      alert('succes!!');
    },
    error: function (error) {
      alert("errror");
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这段代码运行良好.该文件按预期上传,但现在我需要发送GUID到同一个控制器(上传),所以我想知道我是否可以在同一个$.ajax语句中发送带有该文件的GUID ?

.net c# asp.net asp.net-mvc jquery

6
推荐指数
1
解决办法
3万
查看次数

剃刀形成asp.net mvc

<% using (Html.BeginForm("DisplayCustomer","Customer",FormMethod.Post))
{ %>
Enter customer id :- <%= Html.TextBox("Id",Model)%> <br />
Enter customer code :- <%= Html.TextBox("CustomerCode",Model) %><br />
Enter customer Amount :- <%= Html.TextBox("Amount",Model) %><br />
<input type="submit" value="Submit customer data" />
<%} %>
Run Code Online (Sandbox Code Playgroud)

使用剃刀

    @using (Html.BeginForm("DisplayResult", "DisplayCustomer", FormMethod.Post)) { 
    @Html.ValidationSummary(true);

    @:Enter customer id :- @Html.TextBox("Id",Model)
    @:Enter customer code :-@Html.TextBox("Code",Model)
    @:Enter customer Amount :-@Html.TextBox("Amount",Model)
    <input type="submit" value="Enter the value" />

} 
Run Code Online (Sandbox Code Playgroud)

编译器错误消息:CS1973: 'System.Web.Mvc.HtmlHelper'没有名为'TextBox'的适用方法,但似乎有一个名称的扩展方法.无法动态分派扩展方法.考虑转换动态参数或调用扩展方法而不使用扩展方法语法.

@using (Html.BeginForm("DisplayResult", "DisplayCustomer", FormMethod.Post)) { 
    @Html.ValidationSummary(true);

    @:Enter customer id :- <input type="text" name="Id" /> …
Run Code Online (Sandbox Code Playgroud)

c# razor asp.net-mvc-4

6
推荐指数
1
解决办法
3万
查看次数

如何使用ajax请求中的formdata将数组发送到mvc操作

我试图将带有表单数据的数组发送到带有Ajax请求的操作,但每当我这样做时,我都会收到表单数据和数组为空

$scope.SubmitForm = function () {
        var sLangs = $("#supportedLanguages").data("kendoMultiSelect").value();    

        var formdata = new FormData($('#frmAppSettings').get(0));

        alert(formdata.SelectedLanguages);

        var data = new FormData(document.getElementById("frmAppSettings"));
        $.ajax({
            type: "POST",
            url: "/AppMenuMaker/AppSettings",
            data: JSON.stringify({ AppSettingsView: formdata, SelectedLangs: sLangs }),
            processData: false,
            contentType: false,
            success: function () {

            }
        });
    }`
Run Code Online (Sandbox Code Playgroud)

我的行动如下

    [HttpPost]
    [Authorize]
    public ActionResult AppSettings( ApplicationSettingsViewModel AppSettingsView, int[] SelectedLangs)
    {

    }
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

ajax asp.net-mvc form-data

5
推荐指数
1
解决办法
2329
查看次数

Ajax FormData追加列表对象

您好,我在将数据发布到控制器时遇到问题。现在我下面有一个模型,

public class Media
    {
        public int Id { get; set; }
        public string Category { get; set; }
        public string Guid { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public List<int> Portals { get; set; }
        public string Lang { get; set; }
        public List<Folder> Folders { get; set; }

       }
Run Code Online (Sandbox Code Playgroud)

然后,我将文件和该模型发布到控制器。In AJAX侧面

var formData = new FormData();
            var totalFiles = document.getElementById("FileUpload").files.length;
            if (totalFiles === 0) {
                toastr.warning('Lütfen resim …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery

3
推荐指数
1
解决办法
4985
查看次数

使用 ajax 在 MVC Core 中发布包含 IFormFile 属性的视图模型

我正在尝试使用 jquery AJAX 帖子在 MVC 核心中发布一个简单的视图模型,但是模型上的 IFormFile 属性似乎为空。

我有以下视图模型:

    [Required]
    public IFormFile File { get; set; }

    [Required]
    [Display(Name = "Owner")]
    public int DocumentOwner { get; set; }

    [Required]
    [Display(Name = "Document Type")]
    public int DocumentTypeId { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后我在视图底部的脚本中使用 jQuery ajax 帖子:

$("form").submit(function (e) {
    e.preventDefault();

    var model = $('form').serialize();

    $.ajax({
        type: "POST",
        url: "/Client/AddDocument",
        contentType: false,
        processData: false,
        data: model,
        success: function (message) {
            alert(message);
        },
        error: function () {
            alert("There was error uploading files!");
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery asp.net-core

3
推荐指数
1
解决办法
9741
查看次数

Asp.net Core,如何在JQuery / Ajax中将文件和模型发布到控制器?

这个问题是不是重复这个,因为所有的细节都在这个问题充分说明,将是非常适合初学者

我有一个从模型继承的视图。我的字段是表单,我想用JQuery / Ajax将表单(或模型)发布到控制器并将其插入数据库中。我阅读了这篇文章,可以使用Ajax上传图像,但是我无法将整个表格或带有数据的模型发布到控制器。

我的看法 :

@model ajax1.Models.Info

<form method="post" enctype="multipart/form-data">

<div class="form-group">
    <label asp-for="FirstName" class="col-lg-2 col-sm-2 control-label "></label>
    <div class="col-lg-6">
        <input asp-for="FirstName" class="form-control" />
        <span asp-validation-for="FirstName"></span>
    </div>
</div>

<div class="form-group">
    <label asp-for="LastName" class="col-lg-2 col-sm-2 control-label"></label>
    <div class="col-lg-6">
        <input asp-for="LastName" class="form-control" />
        <span asp-validation-for="LastName"></span>
    </div>
</div>

<input type="file" id="files" name="files" multiple />
<input type="button" id="upload"  value="Upload Selected Files" />
</form>
Run Code Online (Sandbox Code Playgroud)

视图底部的JQuery代码:

@section Scripts{
<script>
        $("#upload").click(function (evt) {
            var fileupload = $("#files").get(0);
            var files = fileupload.files;
            var …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax asp.net-mvc jquery controller

3
推荐指数
1
解决办法
5828
查看次数

如何使用ajax上传文件到asp.net mvc控制器动作

我有这个提交代码,

$('#form').on('submit',function (e) {
    e.preventDefault();
    //var file = $("#productImg");
    var fileUpload = $("#productImg").get(0);
    var files = fileUpload.files;


    var form = $("#form");
    var formData = new FormData();
    formData.append("product", form.serialize());

    // Looping over all files and add it to FormData object  
    for (var i = 0; i < files.length; i++) {
        formData.append(files[i].name, files[i]);
    }
    //formData.append("file", file);

    $.ajax({
        type: 'POST',
        url: baseUrl + 'Controller/Action',
        data: formData,
        processData: false,
        contentType: false,
        success: function (data) {
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

  public JsonResult AddProduct(ProductModel product) // …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery asp.net-mvc-3

2
推荐指数
1
解决办法
4714
查看次数

在MVC5中使用AJAX调用

我试图在MVC5项目中使用AJAX调用,就像在网上有很多类似的例子,但每次都有错误,例如antiforgerytoken,500等等.我正在寻找一个适当的AJAX调用方法,其控制器操作方法具有所有必要的属性和从View到Controller Action发送模型数据.以下是我使用的方法:

视图:

@using (Html.BeginForm("Insert", "Account", FormMethod.Post, new { id = "frmRegister" })) 
{
    @Html.AntiForgeryToken()
    //code omitted for brevity
}



<script>

    AddAntiForgeryToken = function (data) {
    data.__RequestVerificationToken = $('#__AjaxAntiForgeryForm input[name=__RequestVerificationToken]').val();
    return data;
    };

$('form').submit(function (event) {
        event.preventDefault();

        //var formdata = JSON.stringify(@Model); //NOT WORKING???
        var formdata = new FormData($('#frmRegister').get(0));
        //var token = $('[name=__RequestVerificationToken]').val(); //I also tried to use this instead of "AddAntiForgeryToken" method but I encounter another error

        $.ajax({
            type: "POST",
            url: "/Account/Insert",
            data: AddAntiForgeryToken({ model: formdata }),
            //data: { data: …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net ajax asp.net-mvc jquery

2
推荐指数
1
解决办法
1万
查看次数

输入类型文件未在jquery ajax中序列化

下面是我在提交时将表单返回到jquery函数时的剃刀代码.

 @model Slider
    @{

         Layout = null;
     }

    @using (Html.BeginForm("AddOrEdit", "Slider", FormMethod.Post, new { enctype  = "multipart/form-data" , onsubmit = "return   SubmitForm(this)" }))
    {
      @Html.HiddenFor(m => m.Id)



     <div class="form-group" style="height:270px;">
      @Html.LabelFor(m => m.ImageFile, new { @class = "blue-text", @style = 
      "font-size:16px", @id = "" })

 <input name="ImageFile" type="file"  />

 </div>

<div class="form-group">
     <input type="submit" value="Submit" class="btn btn-primary" />
     <input type="reset" value="Reset" class="btn" />
 </div>
 }
Run Code Online (Sandbox Code Playgroud)

除非我将其更改为json,否则Jquery函数无法序列化输入文件类型并将其发送到控制器.但如果我将其更改为json,我将无法获得验证

  function SubmitForm(form) {
        debugger;
        $.validator.unobtrusive.parse(form);
        debugger;
        if ($(form).valid()) {
            debugger;
            $.ajax({
                type: "POST",
                url: …
Run Code Online (Sandbox Code Playgroud)

javascript ajax asp.net-mvc jquery json

0
推荐指数
1
解决办法
2755
查看次数