如何根据数据库值设置单选按钮Id属性?

时间:2011-05-11 07:47:34

标签: asp.net

我有网格视图,每行包含五个单选按钮。在这五个中,一次只能检查一个。为了实现这一点,我试图保持单选按钮的Id属性对应于数据库值。但它在Id字段中给我一个错误。 .Net不允许在ID属性中使用eval函数。行将取决于数据库中的记录数。我想在数据库中保留5个单选按钮,在这五个单元中,只能检查一个。如何实现这个任务? //我的.aspx页面代码如下。

 <%@ Page Title="Applicant Rating Form" Language="C#" MasterPageFile="~/Interviewer/interviewerMasterPage.master" AutoEventWireup="true" CodeFile="AppRatingForm.aspx.cs" Inherits="Interviewer_AppRatingForm" %>

 <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
 </asp:Content>
 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table cellpadding="2" width="100%">
    <tr>
        <td colspan="2">
            &nbsp;</td>
    </tr>
    <tr>
        <td align="center" class="tdtitle" colspan="2">
            Interview Rating Form</td>
    </tr>
    <tr>
        <td colspan="2">
            &nbsp;</td>
    </tr>
    <tr>
        <td width="25%">
            Name of Applicant</td>
        <td>
            <asp:Label ID="nameLbl" runat="server" Text="Label"></asp:Label>
        </td>
    </tr>
    <tr>
        <td>
            Post Applied For</td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td>
            Department</td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td colspan="2">
            &nbsp;</td>
    </tr>
    <tr>
        <td align="center" class="tdtitle" colspan="2">
            Assessment</td>
    </tr>
    <tr>
        <td align="left" colspan="2">
            <asp:GridView ID="assesmentGrid" runat="server" AutoGenerateColumns="False" 
                onpageindexchanging="assesmentGrid_PageIndexChanging">
                <Columns>
                    <asp:BoundField HeaderText="ID" DataField="SecId"/>
                    <asp:BoundField HeaderText="Traits" DataField="SecName"/>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            A
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:RadioButton ID='<%# Eval("SecId") %>' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            B
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:RadioButton ID='<%# Eval("SecId") %>' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            C
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:RadioButton ID='<%# Eval("SecId") %>' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            D
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:RadioButton ID='<%# Eval("SecId") %>' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            E
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:RadioButton ID='<%# Eval("SecId") %>' runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            Comments
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:TextBox ID="commentBox" runat="server" TextMode="MultiLine"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </td>
    </tr>
    <tr>
        <td align="center" class="tdtitle" colspan="2">
            &nbsp;</td>
    </tr>
    <tr>
        <td align="center" colspan="2">
            &nbsp;</td>
    </tr>
    <tr>
        <td align="center" colspan="2">
            &nbsp;</td>
    </tr>
    </table>
 </asp:Content>

1 个答案:

答案 0 :(得分:1)

您需要在同一组/行中设置所有RadioButton的GroupName属性。这将只允许一次选择一个。我不建议尝试使用Eval动态设置ID,只要确保它们都是唯一的,它应该可以正常工作。