none
ListView控件,加一个客户端的JS代码,就不能插入、更新了!? RRS feed

  • 问题

  • 需求:一个用户表 字段为 名字,年龄 和性别 (性别是CheckBox ),要求:CheckBox 选中时为男性,不必填写年龄,(即插入项,年龄输入框隐藏,[color=#FF6600]用js实现[/color])不选中时为女,年龄框可见,

      js和程序效果我都实现了,奇哉怪也的是:InputAttributes["onchange"] = "changeed(this,'" + txtage.ClientID + "')";时, 插入,更新都不可用了!!即在 编辑、插入时,填好数据后,点更新或插入,数据会被清空,且维持编辑状态不变,经探索:毛病出在 "changeed(this,'" + txtage.ClientID + "')"; 把此javascript函数的形式改一下 即 不用txtage.ClientID 或其他字符串时,该现象就会消失!!
    不知所以然,望高手指教
    我的源代码在:http://www.w8le.com/lkfup/Solution1.rar

    protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem || e.Item.ItemType == ListViewItemType.InsertItem) { CheckBox chb = e.Item.FindControl("UserGenderCheckBox") as CheckBox; TextBox txtage = e.Item.FindControl("UserAgeTextBox") as TextBox; if (chb != null && txtage !=null) { //chb.Attributes["onchange"] = "changeed(this,'" + txtage.ClientID + "')"; chb.InputAttributes["onchange"] = "changeed(this,'" + txtage.ClientID + "')"; } } }

    我猜:在微软搞的模板中 形如:Mothed(this,'ctrolid')的javascript是有特定含义的??!!不能随便这样用?



    我是半路出家,而且是自学 学的是C#语言,希望回帖的高手们留意一下,谢谢大家的帮助



    2013年3月16日 5:39

全部回复

  • 插入更新不可用,具体指的是什么,你可以先用chrome 的调试工具,试一下,看看是不是js错误。

    所有回复都属原创,如有不清楚的回复请追问。

    2013年3月21日 16:15
    版主
  • 就是不能用了呗~~~~~~~~

    我是半路出家,而且是自学 学的是C#语言,希望回帖的高手们留意一下,谢谢大家的帮助

    2013年3月24日 13:32
  • 看你写的代码了,objectdatasource + listview控制template ,就懒得继续看下去了。。。
    2013年3月27日 12:48
    版主