Выпуск с обновлением записи в angular? - PullRequest
0 голосов
/ 24 января 2020

angular версия: Angular CLI: 9.0.0-r c .7

Я хочу обновить запись, и когда я нажимаю на иконку редактирования, а затем моя запись формируется а затем я изменяю некоторые поля записи и затем нажимаю кнопку «Редактировать», затем моя запись обновляется в браузере (журнал консоли), но не обновляется в базе данных ??

backendservice.ts

       //when I click on edit icon then record going to form 

public editpartymaster(PartyMstId) {
        return new Promise(resolve => {
            let headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
            let options = { headers: headers, crossDomain: true, withCredentials: true };

            var url = "http://localhost:000/PartyMsts/EditPatymaster?PartyMstId=" + PartyMstId;

             this.httpClient.post<any>(url, options).subscribe(
                (res) => {
                    console.log(res);
                    resolve(res);
                },
                (err) => console.log(err)
            );
        });
    }

    //edit button click event

    public editpartymasterid(PartyMstId, PartyCode, PartyName, Address, PhNo1, SDate, PartyDate, RDType, Exchange) {
        return new Promise(resolve => {
            let headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
            let options = { headers: headers, crossDomain: true, withCredentials: true };

            var url = "http://localhost:000/PartyMsts/EditPatymaster";

            const postdata = {
                'PartyMstId': PartyMstId,
                'PartyCode': PartyCode,
                'PartyName': PartyName,
                'Address': Address,
                'PhNo1': PhNo1,
                'SDate': SDate,
                'PartyDate': PartyDate,
                'RDType': RDType,
                'Exchange': Exchange
            }

            console.log("formdata", postdata)

            return this.httpClient.post<any>(url, postdata)
                .subscribe((res) => {
                    console.log("res partyadd add 198", res);
                    resolve(res);
                });
        });
    }

partymaster.component.ts


    PartyMstId: any;
    PartyCode: any;
    PartyName: any;
    Address: any;
    PhNo1: any;
    SDate: any;
    PartyDate: any;
    RDType: any;
    Exchange: any;
    x: any;
    y: any;
    c: any;
    partylist: any;

   constructor(public myservice: BackendService) {}
//edit icon click event

onGridRowClicked(e: any) {
        if (e.event.target !== undefined) {
            let actionType = e.event.target.getAttribute("data-action-type");
            if (actionType == "edit") {
                console.log("e", e.data.PartyMstId);
                console.log("View edit action clicked");
                this.myservice.editpartymaster(e.data.PartyMstId).then((data: any) => {
                    if (data.message == "your record update") {

                        this.PartyMstId = e.data.PartyMstId;
                        this.PartyCode = e.data.PartyCode;
                        this.PartyName = e.data.PartyName;
                        this.Address = e.data.Address;
                        this.PhNo1 = e.data.PhNo1;
                        this.SDate = e.data.SDate;
                        this.PartyDate = e.data.PartyDate;
                        this.RDType = e.data.RDType;
                        this.Exchange = e.data.Exchange;
                    }
                });
            }
            else if (actionType == "delete") {
                console.log("View delete action clicked");
            }

//edit button click event
    editbuttonclickevent() {
        console.log("---PartyMstId---", this.PartyMstId);
        console.log("---PartyCode---", this.PartyCode);
        console.log("---PartyName---", this.PartyName);
        console.log("---Address---", this.Address);
        console.log("---PhNo1---", this.PhNo1);
        console.log("---SDate---", this.SDate);
        console.log("---PartyDate---", this.PartyDate);
        console.log("---RDType---", this.RDType);
        console.log("---Exchange---", this.Exchange);

        this.myservice.editpartymasterid(this.PartyMstId, this.PartyCode,
            this.PartyName, this.Address, this.PhNo1, this.SDate, this.PartyDate,
            this.RDType, this.Exchange).then((data: any) => {
            console.log("list data")
            if (data.message == "your record update") {
                this.list();
            }
        });
    }

partymastercomponent. html


<ag-grid-angular style="width: 1000px; height: 500px;"
 (rowClicked)='onGridRowClicked($event)'>
    </ag-grid-angular>

<button type="button" (click)="editbuttonclickevent()">Edit</button>

asp. net mvc service

        public ActionResult EditPatymaster(int PartyMstId)
        {
            var partymst = poly.PartyMsts.Find(PartyMstId);
            partymstmodel partymstupdate = new partymstmodel();

            partymstupdate.PartyCode = partymst.PartyCode;
            partymstupdate.PartyName = partymst.PartyName;
            partymstupdate.Address = partymst.Address;
            partymstupdate.PhNo1 = partymst.PhNo1;
            partymstupdate.SDate = partymst.SDate;
            partymstupdate.PartyDate = partymst.PartyDate;
            partymstupdate.RDType = partymst.RDType;
            return View(partymstupdate);
        }

        [HttpPost]
        public JsonResult EditPatymaster(partymstmodel partymst, int PartyMstId)
        {
            var partymstupdate = poly.PartyMsts.Find(PartyMstId);

            if(partymstupdate!=null)
            {
                partymstupdate.PartyCode = partymst.PartyCode;
                partymstupdate.PartyName = partymst.PartyName;
                partymstupdate.Address = partymst.Address;
                partymstupdate.PhNo1 = partymst.PhNo1;
                partymstupdate.SDate = partymst.SDate;
                partymstupdate.PartyDate = partymst.PartyDate;
                partymstupdate.RDType = partymst.RDType;

                HttpResponseMessage response = staticvariable.client.PutAsJsonAsync("PartyMsts", partymst).Result;

                var data = new
                {
                    message = "your record update",
                };
                return Json(data, JsonRequestBehavior.AllowGet);
            }
            else
            {
                var data = new
                {
                    message = "your record not updated",
                };
                return Json(data, JsonRequestBehavior.AllowGet);
            }
        }

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

browserlog:

enter image description here

My запись не обновляется, но журнал консоли браузера обновляется?

enter image description here

Справка ??

1 Ответ

0 голосов
/ 24 января 2020

из-за ошибки консоли кажется, что у вас есть проблема с CORS, Cross-Origin Resource Sharing (CORS) - это механизм, который использует дополнительные заголовки HTTP, чтобы сообщить браузерам, что веб-приложение должно работать с одним источником, если вы используете ASP API в качестве серверной части, загрузите следующие пакеты nuget:

Microsoft.As pNet .Cors

Microsoft.As pNet .WebApi.Cors

и в ваш файл класса WebApiConfig, в методе Register добавьте эту строку

config.EnableCors(new EnableCorsAttribute("http://localhost:4200", headers: "*", methods: "*"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...