2017-04-05 9 views
0

私は、ユーザーの写真をダウンロードするには、コントローラを呼び出していますが、ページ全体がリフレッシュされている私のアプリに(angularjs付き)のasp.net MVC 5ウェブアプリコールMVCコントローラ

を作成しています、

と私は特定のページをポストバックしたくない

これは私のコントローラが

[HttpPost] 
public ActionResult profilecompletion(FormCollection fc, HttpPostedFileBase file) 
{ 
    // tbl_details tbl = new tbl_details(); 
    var allowedExtensions = new[] { 
    ".Jpg", ".png", ".jpg", "jpeg",".doc",".docx",".pdf",".xlsx",".xls" 
}; 
    string id = fc["name"].ToString(); 

    //tbl.Id = fc["Id"].ToString(); 
    //tbl.Image_url = file.ToString(); //getting complete url 
    //tbl.Name = fc["Name"].ToString(); 
    if (file==null) 
    { 

    } 
    else 
    { 
     var fileName = Path.GetFileName(file.FileName); //getting only file name(ex-ganesh.jpg) 
     var ext = Path.GetExtension(file.FileName); //getting the extension(ex-.jpg) 
     if (allowedExtensions.Contains(ext)) //check what type of extension 
     { 
      string name = Path.GetFileName(id + fileName); //getting file name without extension 
                  //string myfile = name + "_" + "" + ext; //appending the name with id 
                  // store the file inside ~/project folder(Img) 
      if (!Directory.Exists(Server.MapPath("~/userpic"))) 
      { 
       Directory.CreateDirectory(Server.MapPath("~/userpic")); 
      } 
      var path = Path.Combine(Server.MapPath("~/userpic"), name); 
      //tbl.Image_url = path; 
      //obj.tbl_details.Add(tbl); 
      //obj.SaveChanges(); 
      file.SaveAs(path); 
     } 
     else 
     { 
      ViewBag.message = "Please choose only Image file"; 
     } 
    } 
    return RedirectToAction("Dashboard", "Dashboard"); 
} 

を見て、これは私のCSHTMLページがいかにある

@using (Html.BeginForm("profilecompletion", "user", FormMethod.Post, new 
{ 
    enctype = "multipart/form-data" 
})) 
{ 
       <div class="row"> 
        <div class="col-sm-8"> 
         <span>Profile Pic</span> 
         <input id="imagepath" type="file" file-model="profileimage" ng-text-change="changeimage()" name="file" /> 
        </div> 
        <div class="col-sm-4"> 
         <img id="myImg" src="#" alt="Choose image" style="height:100px; width:100px; border-radius:10px;" ng-hide="hidestat" ng-src="{{image}}" /> 
         @*<input id="imagepath" type="file" file-model="profileimage" class="form-control" />*@ 
        </div> 
       </div> 
      <div class="button-container"> 
       <input type="submit" name="Update" class="btn btn-primary" ng-click="update()" title="save" /> 
      </div> 
} 

ページのロードが正常に

私はどんなプログラマビリティに影響を与えることなく、ポストバックまたはpageloadのいずれかの種類を防ぐために、ここで何をする必要があるかupdate() functionを実行するためのアプリを妨げています。

答えて

1

この

<button type="button" name="Update" class="btn btn-primary" ng-click="update()" title="save" > Submit </button> 
をお試しください
1

submitボタンを使用しているため、ページがリロードされるのは、名前が示すように、サーバーに完全なポストバックを含むフォームを送信するためです。代わりに、通常のbuttonを使用することもできます。

<input type="button" name="Update" class="btn btn-primary" ng-click="update()" title="save" /> 
関連する問題