嗨,大家好,我是JSon的新手,不太清楚如何傳遞數據。我正在使用ASP.NET MVC作爲我的開發平臺。如何在ASP.NET MVC中使用JQuery.Ajax傳遞多個參數
在查看:
$(document).ready(function() {
$("select#Colors").change(function() {
var photoCategory = $("#Colors > option:selected").attr("value"); // 1st parameter
var userID = $(".userID").attr("value"); // 2nd parameter
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "/FindPhotos/" + photoCategory ,
data: "{}",
dataType: "json",
success: function(data) {
$('#ProductsDiv > div').remove();
if (data.length > 0) {
var options = '';
} .......
});
});
});
在Global.asax中:
routes.MapRoute(
"FindPhotos",
"FindPhotos/{category}",
new { controller = "Clinical", action = "FindPhotosByCategory", category = "" }
);
所以一切工作正常這種方式,因爲我只路過一個參數, 'photoCategory',在$ .ajax網址中。我現在的目標是傳遞第二個參數,它是userID,所以我可以在下面的控制器方法中使用它們。
在控制器:
public JsonResult FindPhotosByCategory(string category, string userID) {
List<PhotoSet> photoset = Repository.GetPhotoSetByUserID(userID);
return new JsonResult
{
Data = (from p in photoset
where p.PhotoCategory == category
select p).ToArray<PhotoSet>()
};
}
有誰知道怎麼寫$。阿賈克斯()方法,這樣我就可以在2個參數到控制器傳遞?謝謝!
嗨,非常感謝您的幫助。關於在URL中擁有UserID的安全性,我同意你的看法。有沒有辦法在global.asax中使用路由表來掩蓋用戶ID?還是有更好的方法隱藏它? – Ari 2010-09-23 06:54:30
它是當前登錄用戶的ID嗎? – andymeadows 2010-09-24 05:20:55