gridview中有一列,对应的数据库为Users表的字段为Permission(整型) 
               <asp:TemplateField HeaderText="权限">
                    <ItemTemplate>
                        <asp:DropDownList ID="DropDownList1" runat="server">
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>.cs后台已经写好一个方法:
        private void DropDownListPermission(DropDownList LName,int SelectIndex)
        {
            try
            {
                ClassDB MyDb = new ClassDB();
                string MySql = "select Permission_Name,Permission_Id from system_Permission";
                LName.DataSource = MyDb.getSqlDataReader(MySql);
                if (SelectIndex >0)
                {
                    LName.SelectedIndex = SelectIndex;
                    LName.DataBind();
                }
                else
                {
                    LName.DataBind();
                }
                
                MyDb.Close();
            }
            catch (Exception ex)
            {
                Response.Write("An error occured: " + ex.Message);
            }
        }
用DropDownListPermission(DropDownList LName,<%#Eval("Permission") %>)总是报错?
如何调用这个方法?

解决方案 »

  1.   


    <%#DropDownListPermission(DropDownList LName, Convert.ToInt32(Eval("Permission")))%>
      

  2.   

    如果是在前台调用:<%#DropDownListPermission(DropDownList1, Convert.ToInt32(Eval("Permission")))%>要做成public的..
    在后台你要在DataBound事件中做处理..你的问题有点不大晰..
      

  3.   

    说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误消息: 服务器标记不能包含 <% ... %> 构造。源错误: 
    行 82:                 <asp:TemplateField HeaderText="权限">
    行 83:                     <ItemTemplate>
    行 84:                         <asp:DropDownList ID="DropDownList1" runat="server" OnDataBound="<% DropDownListPermission(DropDownList1,Convert.ToInt32(Eval("Permission")))%>">
    行 85:                         </asp:DropDownList>
    行 86:                     </ItemTemplate>
     
      

  4.   

    我想要的结果是不想加DataBound事件,调用我写的这方法直接实现?