Hi,
I'm a fairly experienced module developer, and today i have come across the same problem.
My problem is exactly the same, trying to compile the website i get a error: The name 'EditURL' does not exist in the current context.
I too can see the EditUrl in my intellisense. I also have other public properties that i had made available to the ascx file. I'm trying to use this within a repeater (may or may not have something to do with the issue).
Had a quick look and saw this post. I played a round and came up with a quick solution. Try encapsulating the inherited EditUrl method, ie. create your own public method that passes your parameters through to EditUrl().
eg:
public string EditMyURL(string keyName, string keyValue)
{
return this.EditUrl(keyName, keyValue);
}
Now in the ascx file:
<%# EditMyURL("ItemId",DataBinder.Eval(Container.DataItem,"ItemId").ToString()) %>
I also had to add the ToString() method to the end of the last parameter to stop me getting a "cannot convert from 'object' to 'string'" compliation error.
I know its not the ultimate fix, but something to get you moving.
I'll try and find the solution, when time permits.
Hope it helps,
Dan