為網頁加上masterpage時,為了讓每個控制項的id是唯一的,所以在編譯後render出來的頁面,每個ASP控制項的id都會被附予新的id,在server端就沒這個困擾,但如是在client端就會發現這樣會取不到id...看到的解法是用"控制項id.ClientID"可以取得最終在頁面呈現上的id。
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="RadioButtonList.aspx.cs" Inherits="RadioButtonList" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript" >
function getRadioButtonList(){
var radioObj = document.getElementById("<%=RadioButtonList1.ClientID %>");
alert(radioObj.id);
var radioList = radioObj.getElementsByTagName('input');
for(var i = 0; i < radioList.length; i++)
{
if(radioList[i].checked)
{
alert(radioList[i].value);
}
}
return false;
}
</script>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem>A</asp:ListItem>
<asp:ListItem>B</asp:ListItem>
<asp:ListItem>C</asp:ListItem>
</asp:RadioButtonList>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return getRadioButtonList();" />
</asp:Content>
留言列表