Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用ASP.NET MVC4在单击时使用jquery在文本框中上载图像和文本而不使用任何形式_C#_Jquery_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何使用ASP.NET MVC4在单击时使用jquery在文本框中上载图像和文本而不使用任何形式

C# 如何使用ASP.NET MVC4在单击时使用jquery在文本框中上载图像和文本而不使用任何形式,c#,jquery,asp.net-mvc,asp.net-mvc-4,C#,Jquery,Asp.net Mvc,Asp.net Mvc 4,查看代码 <input type="text" id="txtImageName"></input> <input type="text" id="txtImageDescription"></input> <input type="file" id="txtImageName"></input> <input type="button" id="btnUpload" Value="Up

查看代码

    <input type="text" id="txtImageName"></input>
    <input type="text" id="txtImageDescription"></input>
    <input type="file" id="txtImageName"></input>
    <input type="button" id="btnUpload" Value="Upload">
<script>
        $('#btnUpload').click(function () {       
                var file = $("#txtImageName").get(0).files;
                $.ajax({
                    type: 'post',
                    url: "@Url.Action("HomeAddNew", "Admin")",
                    data:
                    {
                        ImageName: $('#txtImageNameoption').val(),
                        ImageDescription:$('#txtImageDescription').val(),                   
                        Image: file
                    },
                    success: function (data) {
                        alert('hai');
                    },
                    error: function (data) {
                        alert('error');
                    }
                });
        });
    </script>
public ActionResult HomeAddNew(string ImageName, string ImageDescription, HttpPostedFileBase Image)
        {
            //in the above HttpPostedFilebase I'm getting the null value but, I don't want to use .fileupload method or formdata class in jquery. 
            return View();
        }

解释:每当我在控制器方法中检查文件时,它都显示为
null
。请给我一个完美的解决方案。这对我有很大帮助。我的电子邮件id是ganesh@concai.co.uk

不能使用ajax上传文件。如果您的浏览器需求从
IE10
开始,那么您可以使用
xhr

代码和有关应如何操作的信息

此外,还有一个名为
FileAPI
的插件,您可以找到它

带有
进度条的简单演示

function startUpload() {
var fileInput = document.getElementById("fileInput");

if (fileInput.files.length == 0) {
    alert("Please choose a file");
    return;
}

var progressBar = document.getElementById("progressBar");
var xhr = new XMLHttpRequest();

xhr.upload.onprogress = function(e) {
    var percentComplete = (e.loaded / e.total) * 100;
    progressBar.value = percentComplete;
};

xhr.onload = function() {
    if (xhr.status == 200) {
        alert("Sucess! Upload completed");
    } else {
        alert("Error! Upload failed");
    }
};
xhr.onerror = function() {
    alert("Error! Upload failed. Can not connect to server.");
};

progressBar.value = 0;
xhr.open("POST", "ajax-upload", true);
xhr.setRequestHeader("Content-Type", fileInput.files[0].type);
xhr.send(fileInput.files[0]);
}

你为什么要在没有表单的情况下这样做?谢谢你的回复。但我的情况是,我确实有另一个文本来自文本框。所以我甚至需要使用ajax post发送该文本,因此如果我使用文件上载控件,我无法发送随附的文本;这可能是我的幻觉,如果你对此有任何解决方案,这将有很大帮助。我尝试这样做几乎从一个星期以来,我没有找到任何答案。请回复我的答案。我在asp.net mvci中执行此任务。我想你可以将一个对象发送到服务器。试试看。send({file:fileInput.files[0],text:'yourtext'});。或向文件[0]中添加名为“text”的新属性