Your code should have worked but may be Jquery dialog changing dom element value for div <div id="dialog">
You can try following approach.
Keep UserId in hidden field.
<input type="hidden" id="userId" value="@ViewBag.UserID" />
Make placeholder for UserId inside <div id="dialog">
<div id="dialog">
<table>
<tr>
<td>User ID</td>
<td><span id="dialogUserId"></span></td>
</tr>
</table>
</div>
Get UserId and assign form place holder on OpenDialog() event.
<script>
function OpenDialog()
{
$("#dialogUserId").val($("#userId").val()); //if this won't work try adding this line after dialog("open")
$('#dialog').dialog("open");
}
</script>