When I've come up on this in the past, we had two constants files that we manually kept in sync. one for C# and one for JS. A comment in each file reminding the devs to keep the other up to date usually did the trick.
On 8/15/07, Derek Lakin <[EMAIL PROTECTED]> wrote: > I'm currently working my way through the admin pages, starting with > reinstating the ShowCache.aspx page. In the ShowPage.aspx.cs file, there are > some constants defined that form the root of the ID for a list of elements. > These constants are then reused to create some JavaScript that works on the > same list of elements, like this: > > > > private const string keyPrefix = "keyRow"; > private const string keyDataPrefix = "keyData"; > > private void ShowKeys() > { > WriteFilterScript(); > Response.Write( "<p>Search for key: <input id=\"Filter\" > onkeyup=\"javascript:FilterChanged()\" > length=\"60\"/></p>"); > int id = 0; > ArrayList keys = new ArrayList(); > keys.AddRange(FlexWikiWebApplication.Cache.Keys); > keys.Sort(); > Response.Write("<table cellpadding=\"2\" cellspacing=\"2\" > class=\"TableClass\">" ); > Response.Write("<tr>\r\n<td><b>Cache Key</b></td>"); > Response.Write( "<td><b>Cache Item Type</b></td>\r\n<tr>"); > foreach (string key in keys) > { > Response.Write(string.Format( "<tr id=\"{0}{1}\">", > keyPrefix, id)); > Response.Write(string.Format( > "<td class=\"{0}\"><span id=\"{1}{2}\">{3}</span></td>", > (((id & 1) == 0) ? "SearchOddRow" : "SearchEvenRow"), > keyDataPrefix, id, key)); > Response.Write( string.Format( > "<td class=\"{0}\"><span>{1}</span></td>", > (((id & 1) == 0) ? "SearchOddRow" : "SearchEvenRow"), > FlexWikiWebApplication.Cache[key].GetType().ToString())); > Response.Write("</tr>"); > id++; > } > > Response.Write("</table>"); > } > > The WriteFilterScript method looks like this: > > private void WriteFilterScript() > { > Response.Write( "<script language=\"javascript\">"); > Response.Write(@" > function FilterChanged() > { > var filter = filterControl.value; > var id = 0; > while (true) > { > var keyDataPrefix = """ + keyDataPrefix + @""" + id; > var keyPrefix = """ + keyPrefix + @""" + id; > var valueElement = document.getElementById(keyDataPrefix); > if (valueElement == null) > break; > var show = true; > var test = """"; > try { > if (!valueElement.textContent) > test = """" + > valueElement.innerText.toUpperCase(); > else > test = """" + > valueElement.textContent.toUpperCase(); > } catch (e) { > test = """" + > valueElement.innerText.toUpperCase (); > } > if (filter != """" && test.indexOf(filter.toUpperCase ()) < 0) > show = false; > var styleString = show ? """" : ""none""; > var keyPrefixElement = document.getElementById(keyPrefix); > keyPrefixElement.style.display = styleString; > id++; > } > } > "); > > Personally, I'd rather see this JS in an external file that can be cached by > the server and cleans up the CS file, but that would require repeating the > constants somewhere else. Does anyone have any opinions one way or another > about the benefits of external JS and whether it outweighs having the > constants in a single place? > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Flexwiki-users mailing list > Flexwiki-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/flexwiki-users > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Flexwiki-users mailing list Flexwiki-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flexwiki-users