像我想要的用戶發送一些信息只有一次..actually已將通電子郵件中的鏈接,打開文本框的網頁在它..In用戶通過點擊一個button..now發送一些信息,我不希望用戶反覆使用該鏈接發送信息... ..我如何去abt它?希望疑問句心不是混亂如何知道按鈕被點擊了多少次?
回答
對我來說似乎他希望每個用戶使用的形式,一旦發送信息。
如果我在我的理解是否正確,你可以通過一個唯一的ID發送給每個電子郵件和表單數據發送到(與用戶的電子郵件一起)。
在服務器上,你必須與一個唯一的ID每個電子郵件映射數據庫表。無論用戶何時填寫表格,都要根據電子郵件檢查ID,並在表格中設置一列表明用戶已經使用表格發送了數據。
當接收數據是檢查數據庫和檢查數據已經送到你要做的第一件事。如果沒有,請接受數據,否則您可能會顯示錯誤消息或其他內容。
bool isButtonClicked = false; // this will be held in global
在按鈕單擊事件設置isButtonClick = true;
button1_Click()
{
if(!isButtonClicked)
{
// which means button is clicked once, put your action code here
isButtonClicked = true;
}
}
當心,僞碼超前:
if (MyButton.Enabled) {
MyButton.Enabled = false;
SendInfo();
}
但有效。 :) +1 – Nayan 2010-10-05 12:11:44
從你的描述 - 它看起來像調查頁面,你想確保每個用戶只有一個提交。這可以通過爲每個用戶創建一個唯一的標識符,然後在鏈接/表單中包含該值來實現。在服務器端,您必須忽略具有相同標識符的重複提交(或選擇最後一個)。
很多方法可以做到這一點....例如:
int _counter = 0;
void btnCounter_click()
{
_counter++;
}
編輯:
只是禁用按鈕,數據發送後..
您的代碼只是計算按鈕被點擊的次數:) – 2010-10-05 11:27:49
@serkan hekimoglu:這就是OP詢問的確切問題:「如何知道按鈕已被多次播放點擊?「 – Toad 2010-10-05 11:55:57
@Toad是的,有趣的問題:)然後他問「現在我不希望用戶反覆使用該鏈接發送信息」 – 2010-10-05 12:01:37
放隱藏字段,並在用戶首次單擊該按鈕時爲其分配值。請檢查隱藏字段的值並進行比較。
根據您希望如何嚴格的是,你可以添加一個cookie的用戶響應他們第一次單擊它這表明他們已經點擊,然後忽略任何進一步的點擊,如果在後續請求中存在的cookie。當頁面被查看時,你也可以禁用該控件,如果他們有這個cookie。否則,如果他們是登錄用戶,您可以將點擊記錄存儲在數據庫中,並通過檢查數據庫來查看此用戶的記錄,從而拒絕後續點擊。
下面是一些代碼來演示:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
var ctrl = sender as WebControl;
if (!HasButtonBeenClicked(ctrl.ClientID))
{
Response.Write("Click accepted");
}
else
{
Response.Write("You have clicked this already!");
}
}
private bool HasButtonBeenClicked(string controlId)
{
if (Request.Cookies["has_clicked_"+ controlId] != null)
{
return true;
}
var cookie = new HttpCookie("has_clicked_" + controlId);
Response.Cookies.Add(cookie);
return false;
}
}
- 1. 如何知道點擊了多少次按鈕?
- 2. 計數一個按鈕被點擊了多少次
- 3. 使事件的多個按鈕,並知道被點擊了哪個按鈕
- 4. 如何知道Flex DataGrid itemRenderer中的按鈕何時被點擊?
- 5. 如何知道何時點擊了UIKeyboard加入按鈕?
- 6. Android的 - 按鈕偵聽知道哪個按鈕被點擊
- 7. iOS如何知道html5按鈕是否被點擊加載UIWebView
- 8. 在WebView中,如何知道哪個按鈕被點擊?
- 9. 如何知道點擊了哪個按鈕
- 10. 如何知道winform c#中點擊了哪個按鈕?
- 11. 如何知道點擊了哪個按鈕?
- 12. 如何知道按鈕在form1中被點擊但是在form2中知道C#
- 13. 引導按鈕,如何多次點擊
- 14. 我怎樣才能知道哪些提交按鈕被點擊
- 15. 知道誰點擊了Facebook的「贊」按鈕,在您的網站
- 16. 知道在Android中點擊了哪個按鈕
- 17. 軟件如何知道它安裝了多少次?
- 18. Android - 如何知道(編程)電話鈴響了多少次?
- 19. 我如何知道Waypoint一次切換了多少個實例?
- 20. 如何知道我的帖子使用節點js查看了多少次?
- 21. 如何知道在整個站點中使用了多少次CSS選擇器?
- 22. 如何知道在ListView中單擊了哪個按鈕
- 23. 如何知道在哪一行的按鈕被點擊asp.net的GridView
- 24. ASP.NET引擎如何知道客戶端的哪個按鈕被點擊?
- 25. 我該如何讓其他課程知道按鈕被點擊(Android Studio)
- 26. 如何知道在列表上下文中點擊了哪個jQuery按鈕
- 27. Android:如何知道在「onActivityResult」方法中點擊了哪個按鈕
- 28. 如何知道誰點擊我網站上的Facebook「贊」按鈕?
- 29. 我如何知道UItableview中單元格按鈕的點擊
- 30. dgrid(onDemandGrid)在第一次點擊按鈕時加載,但第二次點擊時出錯按鈕被點擊
所以你希望用戶點擊按鈕只有一次? – user279521 2010-10-05 11:12:37
添加了您要求的代碼。 – Richard 2010-10-05 12:22:43