2012-10-16 46 views
1

這是ASP.NET中的C#。我正在嘗試以編程方式從radiobuttonlist click事件調用Java腳本函數。我創建了radiobuttonlist並在裏面添加了一些列表項。我看了很多,但一直無法弄清楚。從ASP.NET中的C#事件調用Javascript函數

C#代碼:

RadioButtonList _rbList = new RadioButtonList(); 
_rbList.ID = r[0].ToString()+"Answer"; 
_rbList.RepeatDirection = RepeatDirection.Horizontal; 
_rbList.Attributes.Add("onchange", "return answered();"); 

的Javascript我的.aspx裏面:

<script type ="text/javascript"> 
function answered() { 
    alert("I am an alert box!"); 
} 
</script> 
+0

當你說你想從你的C#事件處理程序調用JavaScript函數,你的意思是你試圖線了一個JavaScript事件,或者你真的想運行一些JavaScript代碼,當頁面呈現? – Gromer

+2

你知道使用純JavaScript和html(不使用websockets或任何其他服務器 - 客戶端推送技術),你不能讓服務器導致客戶端做一些隨機操作,對吧?客戶端必須啓動所有請求,或者您必須設置某種觸發器(定時器?)以供您操作。 – jcolebrand

+0

原諒我,但不是C#的服務器端語言?我想你可以使用DWR來遠程控制瀏覽器到一個點... http://directwebremoting.org/dwr/index.html –

回答

2

您添加的單選按鈕列表中的onchange ...

將它添加到RadioButton單選按鈕列表的內部和它將工作,在較低級別上講,從RadioButtonList的Items中添加屬性給ListItem,只是一個問題...

加入"onchange"屬性將呈現<span>包含<input radio,漂亮的毛,我知道,嘗試添加onclick代替,所以渲染可以將屬性附加到<input radio,並且做的JavaScript點擊你的魔法,這樣的事情:

RadioButtonList1.Items[0].Attributes.Add("onclick", "return answered();"); 
+0

我只是看着這個,有沒有OnClick或類似的處理器的MSDN中的RBL:http://msdn.microsoft.com/en-us/library/ads2w011.aspx – jcolebrand

+1

有一個OnSelectedIndexChanged事件... – shenn

相關問題