<asp:LinkButton ID="amendNewsType" Text="修改" runat="server" [color=#0000FF]OnCommand ="BTnAmend_Click"  CommandArgument=' <%#Eval("className")%>'  CommandName=<%#Eval("classID")%>  commandSubject=<%#Eval("subjectID") %>[/color]></asp:LinkButton></td>有颜色的那段代码 其中CommandArgument 和 CommandName 在后台都能得到
(string)e.CommandArgument;
e.CommandName;
但是下划线的就不行了(我加上去的)
难道 CommandArgument 和 CommandName 都是默认的吗?
不能自己家类似 commandSubject=<%#Eval("subjectID") %> 的东西吗?
要是那样 我就在后台里面得到 对应classID和className 的 subjectID 值应该怎么得到?
不要重新读数据库!这样太麻烦

解决方案 »

  1.   

    不好意思颜色没上去CommandArgument=' <%#Eval("className")%>'  CommandName= <%#Eval("classID")%> commandSubject= <%#Eval("subjectID") %>
      

  2.   

    如果linkbutton的属性里有的就可以获得,自己定义的
    应该这样吧
    string s=this.amendNewsType.Attributes["commandSubject"].value
      

  3.   

    CommandArgument=<%#Eval("className").Tostring() + ','+ Eval("subjectID").Tostring()%>
      

  4.   

    也许是
    string s=this.amendNewsType.Attributes["commandSubject"].innerHTML或者innerText也行
      

  5.   

    错了,应该是 这样Attributes["cc"].ToString();
      

  6.   

    当前上下文中不存在名称“Attributes” 当前上下文中不存在名称“findcontrol”还有 CommandArgument= <%#Eval("className").Tostring() + ','+ Eval("subjectID").Tostring()%>  在程序里面怎么分别得到 那两个值啊?
      

  7.   

    一样的,Attributes取出来身就是string类型的
      

  8.   

    protected void BTnAmend_Click(object sender, CommandEventArgs e)
            {
                string className = (string)e.CommandArgument;
                this.AddClassText.Text = className;            //string s=e.Attributes["commandSubject"].innerHTML;//或者innerText也行
                //Attributes["commandSubject"].ToString();
                //findcontrol("commandSubject");
               // Response.Write(CommonUse.Alert(s));            //AddSubject.SelectedIndex=e
                //AmendNewsTypeID = e.CommandName;
                //AmendFlag = 1;
                        }