2012-12-08 97 views
0

經過幾個小時的嘗試,我放棄了。也許你們可以看到我在這裏做錯了什麼。 我有一個帶刪除按鈕的GridView。在ClientClick事件中,我調用了一個javascript函數,該函數用yes/no按鈕打開jquery msgbox。如果用戶點擊是,我想功能ConfirmDeleteRecord()返回true。從GridView調用Jquery函數鏈接

這是在GridView上的 「刪除」 欄的樣子:

<asp:TemplateField HeaderText="Delete" ItemStyle-HorizontalAlign="Center"> 
<ItemTemplate> 
     <asp:LinkButton CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ClientSkuID") %>' Text="Delete" runat="server" ID="lnkDelete" OnClientClick="return ConfirmDeleteRecord()"></asp:LinkButton> 
    </ItemTemplate> 

這是我的javascript功能:

function ConfirmDeleteRecord() { 

var bResult = false; 

$.msgBox({ 
    title: "Are You Sure?", 
    content: "Are you sure you want to delete this record?",      
    type: "confirm", 
    buttons: [{ value: "Yes" }, { value: "No" }, { value: "Cancel"}], 
    success: function (result) { 
     if (result == "Yes") { 
      bResult = true; 
     } 
    } 
    }); 


return bResult; 

}

的問題是該代碼永遠不會去「返回bResult」行。

謝謝大家。

回答

0

這不起作用,因爲$ .msgBox不是像confirm()那樣的阻塞函數。合理?所有功能正在顯示一些HTML。什麼,你需要做的是不是從這個更改代碼:

if (result == "Yes") { 
      bResult = true; 
     } 

喜歡的東西:

if (result == "Yes") { 
//perform postback here to delete the record. 
}