2009-11-27 43 views
0

我有在onclick事件的一些連接方法somepage.aspx.cs文件LinkBut​​ton的服務器控件把它的ID(控制),我想添加其他服務器端事件也給那個LinkBut​​ton。淨CSHARP的LinkBut​​ton:處理服務器和客戶端活動

如何實現這一目標?

編輯:於default.aspx.cs

這是打開一個新窗口

lnlBtnProfile.Attributes.Add("onClick", "newwindow('" + acc.ProfileUrl + "','MyProfile');return false"); 

的代碼行,但我想其他功能在同一時間執行。

+0

另一個服務器端或客戶端事件? –

+0

服務器端事件 – Posto

+0

您能向我們展示一些您的內涵的代碼嗎? –

回答

1

下面是客戶端和服務器端事件的LinkBut​​ton:

<asp:LinkButton runat="server" ID="myLink" 
    OnClientClick="alert('this is clientside event');" 
    OnClick="myLink_Click"> 
</asp:LinkButton> 

這裏是服務器端事件:

private void myLink_Click(object sender, EventArgs e) 
{ 
    // Do some stuff 
} 

使用的OnClientClick用於客戶端事件和的OnClick爲服務器端事件。但是,如果您在OnClientClick上編寫返回false,您的控件將不會回發,並且您的服務器端事件將不會被調用。

編輯:正如我所說的,只要刪除'返回false;'行,並且您連接的服務器端事件將被調用。因爲'返回虛假'阻止其餘代碼,包括回發到服務器。

lnlBtnProfile.Attributes 
    .Add("onClick", "newwindow('" + acc.ProfileUrl + "','MyProfile');"); 

lnlBtnProfile.Click += new EventHandler(lnlBtnProfile_Click); 
3

您可以添加多個處理程序的服務器端單擊事件的方式如下:

protected void Page_Load(object sender, EventArgs e) 
{ 
    linkBtn.Click += new EventHandler(handler1); 
    linkBtn.Click += new EventHandler(handler2); 
} 

protected void handler1(object sender, EventArgs e) 
{ 
    lbl.Text += "33"; 
} 
protected void handler2(object sender, EventArgs e) 
{ 
    lbl.Text += "66"; 
} 

這將導致在給定的鏈接按鈕的點擊射擊兩個handler1和handler2。

+0

適用於術語'組播代表'。例如:http://www.netsplore.com/PublicPortal/blog.aspx?EntryID=9 – rohancragg

相關問題