2017-04-05 76 views
0

我創建一個asp.net mvc的5 Web應用程序(與angularjs)呼叫MVC控制器沒有回傳MVC 5個angularjs

在我的應用程序

我打電話控制器下載用戶PIC但整個頁面被刷新,

,我不想回傳特定頁面

這是我的控制器的外觀

[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> 
} 

頁面加載阻止應用程序執行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" />