clientid在两台不同的机器中创建不同

时间:2012-08-06 16:40:18

标签: asp.net

我在转发器中有一个usercontrol,它有一些自定义验证。我在OnItemDataBound中为每个文本框按钮对创建一个验证组。在本地环境中,验证适用于每个控件。在我们的暂存环境中,单击一个按钮可验证所有文本框。

看看生成的JS代码,我看到了不同之处。我不知道这是否重要,但可能是。

分段:

cphBody_bodyContent_rptFieldsSummary_ucFieldSummary_0_ucNewSubjectQuestion_0_vldNotHintText_0.clientvalidationfunction = "HintText_ClientValidate";

本地:

ctl00_ctl00_cphBody_bodyContent_rptFieldsSummary_ctl00_ucFieldSummary_ucNewSubjectQuestion_vldNotHintText.clientvalidationfunction = "HintText_ClientValidate";

这可能是问题吗?在任何情况下,如果有人知道为什么存在这种差异,我很乐意知道,即使这不是我的问题的解决方案:)

1 个答案:

答案 0 :(得分:0)

如果你有任何其他代码通过ID引用这些元素,这可能会成为一个问题。显然,使用您提供的行,事件处理程序仍将正确分配。

如果您担心这会成为一个问题,请将所有控件'“ClientIDMode”设置为“静态”,然后为其分配ID。这应该导致文本框/按钮始终具有相同的ID。

请注意,这仅适用于ASP .NET控件,而不是标准HTML控件。