Вызов мвк контроллера без поста обратно мвк 5 angularjs

Я создаю веб-приложение asp.net mvc 5 (с angularjs)

в моем приложении я вызываю контроллер для загрузки ПОС пользователя, но обновляется вся страница,

и я не хочу постить конкретную страницу

так выглядит мой контроллер

[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 должным образом

что мне нужно сделать здесь, чтобы предотвратить любую обратную передачу или загрузку страницы, не влияя на программируемость.

2 ответа

Решение

Попробуй это

<button type="button" name="Update" class="btn btn-primary" ng-click="update()" title="save" > Submit </button> 

Причина перезагрузки страницы в том, что вы используете submit Кнопка, которая, как следует из названия, отправляет форму с полной обратной передачей на сервер. Вы могли бы использовать обычный button вместо:

<input type="button" name="Update" class="btn btn-primary" ng-click="update()" title="save" />
Другие вопросы по тегам