ここ数日、MVC を使用しています。
私のページの 1 つに問題があります。つまり、q ユーザーが必要な詳細を入力してファイルをアップロードするページがあります。ファイルをアップロードするための Upload と、新しいプロファイルを作成するための Create という名前の 2 つのボタンがあります。
私の問題
私の問題は、ユーザーがアップロード ボタンをクリックしたときにページ全体をリロードしたくないことです。ファイルのアップロードに webmethod を使用することを考えていました。
ここで何が間違っているのかわかりません
誰でも私を修正できますか
これは、Create という名前のコントローラーの Web メソッドです。
コントローラ
[WebMethod]
public string FileUpload(HttpPostedFileBase file, BugModel model)
{
BugModel bug = null;
if (file != null && file.ContentLength > 0)
{
string path = "/Content/UploadedFiles/" + Path.GetFileName(file.FileName);
string savedFileName = Path.Combine(System.Web.HttpContext.Current.Server.MapPath ("~" +path));
file.SaveAs(savedFileName);
BugAttachment attachment = new BugAttachment();
attachment.FileName = "~" + path.ToString();
bug.ListFile.Add(attachment);
model = bug;
}
return "FileUploaded";
}
スクリプトを使用してメソッドを呼び出しました
Javascript
<script type="text/javascript">
function UploadFile() {
$.ajax({
type:"Post",
url: "LogABug/FileUpload",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("File Uploaded")
},
error: function () {
ErrorMessage("Try Again");
}
});
}
</script>
これを行う方法を誰か教えてもらえますか...これが間違った方法である場合は、正しい方法をアイデアで修正してください