簡體   English   中英

僅當數據成功存儲到數據庫而沒有回發asp.net mvc5 EF6時,單擊更改按鈕

[英]Change Button on-click only if data is successfully stored to database without postback asp.net mvc5 EF6

成功存儲數據后,更改按鈕無后退

我有一種情況,我必須將按鈕“發送請求”更改為“請求已發送”。 我的表單中有n個這樣的按鈕,我需要更改所有按鈕

僅當數據成功存儲到數據庫中而不重新加載表單時,該按鈕才應更改。 這就是我將數據存儲到數據庫的方式。

public ActionResult SendRequest(string RequestId)
{
        MyRequest request = new MyRequest();
        request.UserId = loggedInUserId;
        request.FutureFriendId = RequestId;
        request.Status = RequestStatus.Pending;
        db.MyRequests.Add(request);
        db.SaveChanges();
        return View();
}

稍后我可能想將按鈕“已發送的請求”更改為“取消請求”以回滾操作。 請給我一個解決方案。 謝謝!

我會從ActionResult返回布爾值。 您的JS(Jquery)代碼應如下所示:

$(btn).click(function(){
$(btn).attr("disabled", "disabled").val("Sending Request...");
$.ajax({
            url: '/yoururl',
            type: 'GET',
            data: { RequestId: '12345' },
            async: true,
            success: function(returnParameters) {
                $(btn).attr("disabled", "disabled").val("Request Sent");
            },
            error: function(jqXHR, textStatus, errorThrown) {
$(btn).removeAttr("disabled").val("Send Request"); // error, reset.
            }
        });
});

這將為按鈕提供三種情況:

  1. 正在發送
  2. 已發送
  3. 正常

我還將按鈕設置為“已禁用”,以防止在進行中/發送請求時獲得更多點擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM