Зависит от того, как вы хотите передать его.Вы выполняете GET, но ваш маршрут не будет поддерживать userId в качестве параметра маршрута, поэтому вы можете передать его в строке запроса.URL-адрес будет /FindPhotos/lolcats?UserId=123.
При этом вы хотите, чтобы пользователь выбрал пользователя, или вы собираетесь использовать идентификатор пользователя, вошедшего в систему в данный момент.Если это последнее, я бы поспорил, что вы просто берете это из контроллера и сохраняете маршрут чистым.
В духе поддержания маршрута чистым, я бы фактически изменил маршрут на что-то вроде следующего:
routes.MapRoute(
"FindPhotos",
"FindPhotos/{category}/{userId}",
new { controller = "Clinical", action = "FindPhotosByCategory", category = "", userId=UrlParameter.Optional }
);
Это даст вам возможность сделать userId необязательным, а затем выполнить фильтрацию в зависимости от того, указан он или нет.Тогда ваш ajax-вызов становится:
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "/FindPhotos/" + photoCategory + "/" + userId ,
data: "{}",
dataType: "json",
В конце концов, он не имеет ничего общего с JSON и не имеет отношения к тому, как вы вызываете URL.Опять же, это GET, так что вы можете просто передать его по URL-адресу и все будет в порядке.
На заметку - и, как я уверен, вы знаете - я постараюсь не указывать фактического пользователяидентификаторы в разметке или где-либо еще в этом отношении в целях безопасности.Если вам нужно это сделать, убедитесь, что вы каким-то образом защищаете доступ в пределах частей вашего кода, связанных с бизнес-логикой / доступом к данным.