2014年12月11日 星期四

ASP.NET 禁止重覆按下Button

參考資料1.重覆按下Button,造成重覆寫入問題??

參考資料2.How to avoid double click on submit button?

此篇參考上方資料,實作一次,並紀錄下來,請透過實作自行體驗。

程式碼如下

aspx檔
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
    <script type="text/javascript">
        var strpoint = '';
        function rec() {
            if (strpoint != '') {
                if (strpoint.length <= 2) {
                    strpoint = strpoint + '.';
                } else {
                    strpoint = '';
                };
            } else {
                strpoint = '.';
            };
            $('#<%=Label1.ClientID %>').html('訊息:請稍候' + strpoint);
            setTimeout("rec();", 1000);
        };
        function button1() {
            $('#<%=Button1.ClientID %>').attr('disabled', 'disabled');
            setTimeout(function () { rec(); }, 500);
            return true;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="法1" UseSubmitBehavior="False"/>
        <asp:Button ID="Button2" runat="server" Text="法2" /><br/>
        <asp:Label ID="Label1" runat="server" />
    </div>
    </form>
</body>
</html>

apsx.vb檔
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            '方法1的第一種方法,此方法直接在onclick上寫入javascript語法
            'Button1.Attributes.Add("onclick", "this.disabled=true;")
            Button1.Attributes.Add("onclick", "button1();") '方法1的第二種方法

            '方法2 ClientScript.GetPostBackEventReference等於是加入__doPostBack方法
            Button2.Attributes.Add("onclick", "this.disabled=true;" & ClientScript.GetPostBackEventReference(Button2, "").ToString())
        End If
    End Sub

    Sub Loading()
        For i As Integer = 0 To 5000000
            Label1.Text = i.ToString()
        Next
    End Sub

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        '以下程式碼只是展示效果,沒有特別作用
        Loading()
    End Sub

    Protected Sub Button2_Click(sender As Object, e As System.EventArgs) Handles Button2.Click
        Loading()
    End Sub


以上如有錯誤請指正,謝謝

2014年12月7日 星期日

PhoneGap Android 跳出gap_poll訊息

參考資料1:Domain Whitelist Guide

問題敘述:
會出現,以下訊息
gap:["NetworkStatus","getConnectionInfo","NetworkStatus0",true]
...
gap_poll
最後會一直跳出gap_poll

解決方法:
Step 1.請開起您的Android專案底下的res\xml\cordova.xml,如下畫面
<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <access origin="http://127.0.0.1*"/>
    <log level="DEBUG"/>
</cordova>

Step 2.請在<cordova>...</cordova>標籤之間加入白名單,如下
<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <access origin="http://google.com" />
    <access origin="http://127.0.0.1*"/>
    <log level="DEBUG"/>
</cordova>

以上完畢


補充
2014/12/10
1.在html頁面中,如果有一個連結為<a href="https://www.google.com.tw" >Google</a>點擊此連結時,會自動開啟手機瀏覽器瀏覽器。如果不想自動開啟手機瀏覽器,請先找到res/xml/cordova.xml(會依版本不同而改變修改的位置)將<access origin="http://127.0.0.1*"/>改成<access origin="http://*"/>即可。