Thanks for advice...
I just came up with a solution wherby I changed this
new DropdownField('StoryUrl','Select Url:',DataObject::get("SiteTree")->toDropdownMap()),
to this
new DropdownField('StoryUrl','Select Url:',DataObject::get("SiteTree")->toDropdownMap("URLSegment", "Title")),
and now it saves the URLSegment straight off and I do not have to worry about getting link from ID....
Not sure if my way is ideal so I may well have to use your code so Thanks again.