[英]How to add a query string to a URL using ActionFilterAttribute?
使用asp.net MVC 3,我想在Controller方法的每個請求上添加一個查詢字符串 ,使用以下代碼,該查詢字符串未添加到URL。
知道我做錯了什么或其他替代方法嗎?
public ActionResult Index(string uniquestudentreference)
{
return View(eventListVM);
}
public class UserAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.ActionParameters["uniquestudentreference"] = Various.GetGivenNameUser();
}
}
如果希望uniquestudentreference
參數在控制器操作中具有值,則應僅使用正確的URL調用控制器操作,例如:
http://www.someurl.com/<controller>/Index/<uniquestudentreference>
如果要影響通過url傳遞信息的方式,則應考慮自定義路由表(位於Global.asax
)
您可以在此處閱讀有關此內容的更多信息: http : //www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs
您要在此處執行的操作是將值設置為ActionResult中ControllerContext的ViewData或TempData,然后在方法中引用它。 這是比querystring更好的傳遞它的方法,並且也更安全(避免用戶能夠操縱該值)。 或將值存儲在會話中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.