View下有多个模块的文件夹,我们根据微软的规定,每个模块下的首页都为Index.cshtml命名
var currentControllerName = this.ViewContext.RouteData.Values["controller"].ToString();
@foreach (var banner in banners)
{
var index = banners.IndexOf(banner);
}
如果view里边需要频繁引入某个命名using XXX,我们选择在_ViewImports.cshtml文件中引入,相当于整个项目中都引用;
例如,在VR课堂项目中的该文件我们添加以下两行,整个项目中都可以使用:
@using vrlive.Models
@using vrlive.BLL
view中可以直接访问BLL文件夹下的仓库文件,来访问数据库,获得所需的信息,方法如下:
StringValues videoId;
this.ViewContext.HttpContext.Request.Query.TryGetValue("singleVideoId", out videoId);
var singleVideoId = videoId.ToString();
获取当前的url包括参数
string url = this.ViewContext.HttpContext.Request.Path + this.ViewContext.HttpContext.Request.QueryString;
Uri.UnescapeDataString(Request.QueryString.Value);是解决获取当前页面的url没有解析的问题。
public IActionResult Login(string returnUrl)
{
var queryString = Uri.UnescapeDataString(Request.QueryString.Value);
int index = queryString.IndexOf(returnUrl);
string realReturnUrl = "";
if (index > 0)
{
realReturnUrl = queryString.Substring(index);
}
else
{
realReturnUrl = queryString;
}
ViewData["ReturnUrl"] = realReturnUrl;
//ViewData["ReturnUrl"] = returnUrl;
return View();
}
|
原文:http://www.cnblogs.com/maoyazhi/p/6474949.html