• 同一个页面放置多个SPGridView出现的问题


    最近做的项目中出现了一个需要,在同一页面中放多个SPGridView来显示数据.结果在设置菜单的时候惨剧发生了.
    我将SPGridView控件包装到了一个用户控件中,然后将该用户控件多次显示,结果发现在动态改变SPGridView控件的下拉菜单的菜单项的时候永远只有第一个控件的菜单项能发生改变. 
    这个问题苦苦的纠缠了我好几天之后我只有无奈的选择了妥协,将用户控件拆分成多个来显示数据,将不同的视图绑定不同的菜单项,却悲剧的发现显示结果还是一样.╮(╯▽╰)╭
    我曾经一度以为是MOSS对用户控件的输出缓存导致的这个问题,但是我现在使用的不是同一个用户控件了,这个问题却还是存在(真是顽强啊.......),经过我一番查找和分析之后,在不懈的努力下发现,原来是SPMenuField控件引用的MenuTemplateID相同导致的 (我勒个汗啊......).
    既然问题的原因已经找到了.那么接下来的工作就水到渠成了.我将用户控件的ID与MenuTemplate的ID在后台进行拼接形成一个唯一的ID,并且将这个ID分别赋值给MenuTemplate控件和SPGridView控件中的SPMenuField控件的MenuTemplateID属性,这样一来问题就解决了.
    经过测试,显示成功.

    总结:如果仅仅使用SPGridView控件来显示值的话完全可以放心的在一个页面中使用多个(当然,也完全可以用GridView来代替),但是要使用下拉菜单的话就必须保证每一个SPGridView所引用的MenuTemplateID保持唯一,否则后台对这个SPGridView的菜单项所做的改变就可能会失效(如果所有项都是一样的话理所当然的可以不用理会这个问题).

  • 相关阅读:
    Antd下拉多选带勾选框
    POJ
    HDU 4281(01 背包+ 多旅行商问题)
    Codeforces Round #460 (Div. 2) D. Substring
    HDU
    POJ 2184 Cow Exhibition
    Codechef FRBSUM 解题报告
    UVA11982题解
    Suffix Array 后缀数组算法心得
    51nod1158 单调栈 个人的想法以及分析
  • 原文地址:https://www.cnblogs.com/masahiro/p/10130388.html
Copyright © 2020-2023  润新知