When I drag a Visitor Group Criteria onto the Criteria area two edit boxes are shown instead of one. One appears to have the correct ID and one does not. This applies only to criterions that I have developed myself. The exact same criterions worked in a different project using CMS6.
I have reflected Episerver.dll and copied some of your criterions and given them new class names - same behaviour with these criterions - two edit boxes are shown even when I use my copy of your code.
I guess something is wrong in my development environment, could it be some dojo/dijit missmatch?
How the html looks:
<label for="criterion1_SearchWord" class="episize200">SearchWord</label>
<div class="dijit dijitReset dijitInline dijitLeft dijitTextBox" id="widget_criterion1_SearchWord" role="presentation" widgetid="criterion1_SearchWord" style=";">
<div class="dijitReset dijitInputField dijitInputContainer">
<input class="dijitReset dijitInputInner" data-dojo-attach-point="textbox,focusNode" autocomplete="off" type="text" tabindex="0" id="criterion1_SearchWord" required="" value="">
<input id="criterion1_Id" name="Id" type="text" value="">
Do you have an edit template for the criterion? I suppose the other textbox is of the Id field if the edit UI is auto generated. (There could be a bug that lets the model's Id to be "scaffolded", I may comeback with more detail when I am in the office).
What you can do is to create a criterion edit template (basically MVC edit template for criterion model), and use Html.DojoEditorFor helper method to place property widgets.