2011-12-28 59 views
2

我正准备参加.NET考试,我遇到了这个问题。我一直在琢磨着这个问题,但我无法弄清楚:我试过所有这些,但没有提出明确的答案...ClientIDMode是如何工作的?

您正在实施ASP.NET应用程序在多个页面中使用数据绑定的GridView控件。您可以添加JavaScript代码以定期更新这些GridView控件中特定类型的数据项。您需要确保JavaScript代码可以在这些GridView控件中查找为每行创建的HTML元素,而不必在控件从一个页面移动到另一个页面时进行更改。你该怎么办?使用ListView控件替换GridView控件。

B.在web.config文件中将ClientIDMode属性设置为可预测。

C.设置每个唯一的GridView控制为不同的值的属性ClientIDRowSuffix。

D.设置@的OutputCache指令VaryByControl属性GridView控件的ID“

这是我想出了:

A.由于在GridView的结构和ListView是相似的,因为他们生成相同类型的ID,我抓了这一个。

B.我测试了这个,但它似乎并没有影响到ID:s我想我 我 窝必须应用更多的设置,而不仅仅是这一个来获得一些 的效果。

C.这使我不知道什么真正的问题说,这 使得所有行唯一的。但是,这是应该发生的,因为 你不应该改变代码?

D.这是为了缓存,所以与问题无关。

有人能明确这一点给我吗?有任何想法吗?

回答

3

的问题告诉疗法可以是数据绑定的GridView控件在多个页面以及另外,如果一个GridView控件从一个页面转移到另一个页面,那么它应该不与已经存在的GridView控件任何冲突的工作。

因此,我们需要设置GridView.ClientIDRowSuffix属性。所以答案是C.

入住此MSDN链接。

+0

你是正确的Bibhu – Ravia 2011-12-28 14:47:55

+0

所以这是C,因为会使得行是唯一的? – Aries51 2011-12-28 15:05:12

+1

@ Aries51 - 是的,答案是C,这些行将是唯一的,因为ClientIDRowSuffix属性将在服务器端ID之前加上后缀ID,并且如果将两个gridview控件放在同一个页面中,则不会有冲突。 – Bibhu 2011-12-28 15:10:06