Asp.NET Core RedirectResult 是怎样实现页面跳转的?

首先我定义一个接口,行为是跳转

    [ApiController]
    public class DefaultController : ControllerBase
    {
        [HttpGet("view/{id}")]
        public IActionResult View(int id)
        {
            return Redirect("/view?id=" + id);
        }
    }

然后我定义个页面view.cshtml

@page
@{
    Layout = null;
    var id = Request.QueryString.Value;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>view</title>
</head>
<body>
    Id:  @id
</body>
</html>

1、
我浏览器直接访问 http://localhost:1634/view/1

浏览器地址跳转到 http://localhost:1634/view?id=1

2、
我用postman访问 http://localhost:1634/view/1

拿到的是HTML代码

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>view</title>
    </head>
    <body>
    Id:  ?id=1
</body>
</html>

headers

Transfer-Encoding →chunked
Content-Type →text/html; charset=utf-8
Server →Kestrel
X-SourceFiles →=?UTF-8?B?RDpcU3ZuXHByb2plY3RzLWRvdC1uZXQtY29yZVxNaXJQdWJsaXNoXE1pclB1Ymxpc2hcdmlldw==?=
X-Powered-By →ASP.NET
Date →Thu, 07 Feb 2019 05:14:21 GMT

那么问题来了,既然代码中没有javascript.location.href=也没有meta.refresh.url=浏览器是怎么实现的地址重定位?

1个回答

服务器会返回给客户端一个302的跳转,其中的location字段就告诉浏览器,要跳转到这个地址。这些信息不是在html/js里,而是在http响应头里。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复CestCasinorDestin: fiddle
大约一年之前 回复
fromfire2
上海好程序员 那么用postman或者什么工具能抓到这个302吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
asp.net core 3.0 新手问题:如何这段带“count” 和 group by的sql代码,怎么转成asp.net core 可用的 linq的代码。
原始sql: ``` select EOI_Reach, count(EOI_Reach) from survey where EOI_Category='Valid' group by EOI_Reach ``` 求linq写法,asp.net core 3.0 (mvc)可用
asp.net页面跳转问题,实现不了跳转。
![图片说明](https://img-ask.csdn.net/upload/201706/09/1497000728_982740.png) 如上图所示,alert也弹出来非空的用域名和密码,但是页面无法实现跳转,为什么?
Asp.Net Core 配合vue Session丢失跳转登录页面
# 在BaseController中一个拦截器发现session丢失后想回馈给前端session丢失跳转登录页 # ## 跨域 前后端分离 ``` public override void OnActionExecuting(ActionExecutingContext filterContext) { var isDefined = false; //创建一个行动限制ActionDescriptor var controllerActionDescriptor = filterContext.ActionDescriptor as ControllerActionDescriptor; //执行方法是否存在NoPermissionRequired if (controllerActionDescriptor != null) { isDefined = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true).Any(a => a.GetType().Equals(typeof(NoPermissionRequiredAttribute))); } //判断是否拦截 if (isDefined) return; byte[] result; //获取session filterContext.HttpContext.Session.TryGetValue(KeyUtil.user_info, out result); //判断session是否存在 if (result == null) { //在此处如何让vue能跳转到登录页 return; } base.OnActionExecuting(filterContext); } ```
asp.net core 3.0 新手问题:使用“Scaffold identity”创建了注册登录页面后,如何快速的创建角色“Role“分配功能。
asp.net core 3.0 新手问题:使用“Scaffold identity”创建了注册登录页面后,如何快速的创建角色“Role“分配功能。
asp.net core 模型验证问题
asp.net core 问题,我使用的是asp.net core2.1版本。添加模型验证 ModelState.IsValid 出现问题,用swagger 或者是 postman 测试接口,故意输入错误的,即验证不通过的字段,发现还没有到达控制器中的方法就直接返回了 400 error 错误!这样根本没法进行判断给与合理的返回提示
ASP.Net Core 使用ADO.net 连接多个sqlserver数据库,应该怎么写?
ASP.Net Core 使用ADO.net 连接sqlserver数据库,应该怎么写?
asp.net 后台跳转到其他页面的问题
asp.net 后台跳转到其他页面的问题 我当前登陆对象的密码 修改成功之后要跳转到登陆的界面 ``` public void a() { if(xxx) //增加要执行的方法 else(xxx) { //修改要执行的方法 } } public void c() { //修改和增加都要执行的方法 //判断执行的是修改 就跳转到登陆页面 而且只能是修改增加的当前登陆密码 才跳转 修改其他用户的不会跳 } ``` 怎么实现呢? 能讲下思路吗
asp.net core 3.0 新手问题:在View中,让一个变量的首字母变成大写的函数怎么写?
asp.net core 3.0 新手问题:在View中,让一个变量的首字母变成大写的函数怎么写? eg var testValue="test"; // print Test
asp获取asp.net的session
网站由asp.net和ASP组成,如何实现ASP获取asp.net的session("username")值? 也就是说ASP如何分享asp.net的session值
Asp.net core identityServer4 回调跳转到signin-oidc得到404 Not Found的问题
我采用IdentityServer4[示例代码(Combined_AspId_and_EFStorage)](https://github.com/IdentityServer/IdentityServer4.Samples/tree/master/Quickstarts/Combined_AspId_and_EFStorage "") ,并参考了晓晨的博客([IdentityServer4(10)- 添加对外部认证的支持之QQ登录)](https://www.cnblogs.com/stulzq/p/7879101.html "")。 在第三方登录时开始都没问题,能够跳转到QQ授权页面并成功返回QQ用户信息,但是在跳转回MvcClient时却得到404空白页面: ## **404 Not Found** identity服务器的startup.cs代码如下: ``` public void ConfigureServices(IServiceCollection services) { Services = services; var connectionString = Configuration.GetConnectionString("qcloud-postgres-applicationdb"); var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name; services.AddDbContext<ApplicationDbContext>(options => options.UseNpgsql(connectionString)); services.AddIdentity<ApplicationUser, IdentityRole>() .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_2_2); services.Configure<IISOptions>(iis => { iis.AuthenticationDisplayName = "Windows"; iis.AutomaticAuthentication = false; }); var builder = services.AddIdentityServer(options => { options.Events.RaiseErrorEvents = true; options.Events.RaiseInformationEvents = true; options.Events.RaiseFailureEvents = true; options.Events.RaiseSuccessEvents = true; }) // this adds the config data from DB (clients, resources) .AddConfigurationStore(options => { options.ConfigureDbContext = b => b.UseNpgsql(Configuration.GetConnectionString("qcloud-postgres-configurationdb"), sql => sql.MigrationsAssembly(migrationsAssembly)); }) // this adds the operational data from DB (codes, tokens, consents) .AddOperationalStore(options => { options.ConfigureDbContext = b => b.UseNpgsql(Configuration.GetConnectionString("qcloud-postgres-persistedgrantdb"), sql => sql.MigrationsAssembly(migrationsAssembly)); // this enables automatic token cleanup. this is optional. options.EnableTokenCleanup = true; options.TokenCleanupInterval = 60; }) .AddAspNetIdentity<ApplicationUser>(); builder.AddDeveloperSigningCredential(); /* if (Environment.IsDevelopment()) { builder.AddDeveloperSigningCredential(); } else { throw new Exception("need to configure key material"); }*/ services.AddAuthentication( options => { options.DefaultScheme = "QQ"; }) .AddQQ(qqOptions => { qqOptions.AppId = "AppId123456"; // qqOptions.AppKey = "AppKey1234567890"; }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { if (Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); //app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseIdentityServer(); app.UseMvcWithDefaultRoute(); } ``` MvcClient端的startup.cs代码如下: ``` public void ConfigureServices(IServiceCollection services) { Services = services; Services.AddMvc(); JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); Services.AddAuthentication(options => { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddOpenIdConnect("oidc", options => { options.SignInScheme = "Cookies"; //options.Authority = "http://localhost:5000"; options.Authority = "https://identity.web123456.cn"; options.RequireHttpsMetadata = false; options.ClientId = "yingyu88"; options.ClientSecret = "secret"; options.ResponseType = "code id_token"; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.Scope.Add("yingyu88api"); //options.Scope.Add("offline_access"); //options.ClaimActions.MapJsonKey("website", "website"); }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); //app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseAuthentication(); app.UseStaticFiles(); app.UseMvcWithDefaultRoute(); } ``` 客户端得到的log如下: ``` 2019-03-23 11:36:07.588 +08:00 [INF] User profile not available. Using 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeys\S-1-5-82-1592072215-1740167268-757123690-3585059337-856257778\DataProtection' as key repository and Windows DPAPI to encrypt keys at rest. 2019-03-23 11:36:08.070 +08:00 [INF] Request starting HTTP/1.0 GET http://www.yingyu88.cn/Home/Secure 2019-03-23 11:36:08.187 +08:00 [INF] Route matched with {action = "Secure", controller = "Home"}. Executing action MvcClient.Controllers.HomeController.Secure (Yingyu88web) 2019-03-23 11:36:08.197 +08:00 [INF] Authorization failed. 2019-03-23 11:36:08.202 +08:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'. 2019-03-23 11:36:08.209 +08:00 [INF] Executing ChallengeResult with authentication schemes ([]). 2019-03-23 11:36:08.713 +08:00 [INF] AuthenticationScheme: oidc was challenged. 2019-03-23 11:36:08.722 +08:00 [INF] Executed action MvcClient.Controllers.HomeController.Secure (Yingyu88web) in 531.87060000000008ms 2019-03-23 11:36:08.742 +08:00 [INF] Request finished in 673.8004ms 302 2019-03-23 11:36:15.048 +08:00 [INF] Request starting HTTP/1.0 POST http://www.yingyu88.cn/signin-oidc application/x-www-form-urlencoded 1532 2019-03-23 11:36:15.418 +08:00 [INF] AuthenticationScheme: Cookies signed in. 2019-03-23 11:36:15.419 +08:00 [INF] Request finished in 370.649ms 302 ``` 从以上Log可以看出Signin是成功的,但是callback回到signin-oidc之后请求就结束了,诡异的是应用并没有报错。 如有哪位大神熟悉IdentityServer的请多多赐教! 如果需要我这边更多的代码和log信息可以加QQ:352862120联系我私聊。多谢! 2019-03-29更新: ---- 经过试验发现,IdentityServer4的示例代码在调试状态下没有问题,能够在localhost:5000和localhost:5002之间跳转并传递相应的Cookies。但是部署到服务器后(我用的是windows 2016和iis)就不行了(代码完全一致)。最初直接想到的是跨域问题,但是加上AddCors也并没有解决。 ``` public void ConfigureServices(IServiceCollection services) { //配置跨域处理,允许所有来源: services.AddCors(options => options.AddPolicy("corspolicy", p => p.AllowAnyOrigin()) ); } public void Configure(IApplicationBuilder app) { if (Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseIdentityServer(); ** app.UseCors("corspolicy"); ** app.UseMvcWithDefaultRoute(); } ``` 以上代码加到了IdentityServer和MvcClient,但是并没有效果。 追踪部署环境和调试环境下的log可以发现,公网部署时IdentityServer运行到signin-oidc就停止了,没有任何报错。 这是公网部署时的log: ``` 2019-03-25 13:46:19.030 +08:00 [INF] Request starting HTTP/1.0 GET http://www.yingyu88.cn/Home/Secure 2019-03-25 13:46:19.031 +08:00 [INF] Route matched with {action = "Secure", controller = "Home"}. Executing action MvcClient.Controllers.HomeController.Secure (MvcClient) 2019-03-25 13:46:19.039 +08:00 [INF] Authorization failed. 2019-03-25 13:46:19.041 +08:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'. 2019-03-25 13:46:19.045 +08:00 [INF] Executing ChallengeResult with authentication schemes ([]). 2019-03-25 13:46:19.403 +08:00 [INF] AuthenticationScheme: oidc was challenged. 2019-03-25 13:46:19.408 +08:00 [INF] Executed action MvcClient.Controllers.HomeController.Secure (MvcClient) in 376.51370000000003ms 2019-03-25 13:46:19.413 +08:00 [INF] Request finished in 382.7936ms 302 2019-03-25 13:46:40.244 +08:00 [INF] Request starting HTTP/1.0 POST http://www.yingyu88.cn/signin-oidc application/x-www-form-urlencoded 1531 2019-03-25 13:46:40.651 +08:00 [INF] AuthenticationScheme: Cookies signed in. 2019-03-25 13:46:40.651 +08:00 [INF] Request finished in 406.993ms 302 ``` 这是调试环境下的log: ``` 2019-03-25 12:32:15.062 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5002/Home/Secure 2019-03-25 12:32:15.064 +08:00 [INF] Route matched with {action = "Secure", controller = "Home"}. Executing action MvcClient.Controllers.HomeController.Secure (MvcClient) 2019-03-25 12:32:15.070 +08:00 [INF] Authorization failed. 2019-03-25 12:32:15.072 +08:00 [INF] Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'. 2019-03-25 12:32:15.073 +08:00 [INF] Executing ChallengeResult with authentication schemes ([]). 2019-03-25 12:32:15.077 +08:00 [INF] AuthenticationScheme: oidc was challenged. 2019-03-25 12:32:15.077 +08:00 [INF] Executed action MvcClient.Controllers.HomeController.Secure (MvcClient) in 13.078700000000001ms 2019-03-25 12:32:15.077 +08:00 [INF] Request finished in 14.6766ms 302 2019-03-25 12:32:39.168 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:5002/signin-oidc application/x-www-form-urlencoded 1522 2019-03-25 12:32:39.543 +08:00 [INF] AuthenticationScheme: Cookies signed in. 2019-03-25 12:32:39.543 +08:00 [INF] Request finished in 375.4138ms 302 //以下是调试环境下继续执行跳转回/home/secure的动作。部署后这些动作就没有被执行。 2019-03-25 12:32:39.550 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5002/Home/Secure 2019-03-25 12:32:39.551 +08:00 [INF] Route matched with {action = "Secure", controller = "Home"}. Executing action MvcClient.Controllers.HomeController.Secure (MvcClient) 2019-03-25 12:32:39.551 +08:00 [INF] Authorization was successful. 2019-03-25 12:32:39.551 +08:00 [INF] Executing action method MvcClient.Controllers.HomeController.Secure (MvcClient) - Validation state: "Valid" 2019-03-25 12:32:39.552 +08:00 [INF] Executed action method MvcClient.Controllers.HomeController.Secure (MvcClient), returned result Microsoft.AspNetCore.Mvc.ViewResult in 0.2637ms. 2019-03-25 12:32:39.556 +08:00 [INF] Executing ViewResult, running view Secure. 2019-03-25 12:32:39.562 +08:00 [INF] Executed ViewResult - view Secure executed in 10.0428ms. 2019-03-25 12:32:39.563 +08:00 [INF] Executed action MvcClient.Controllers.HomeController.Secure (MvcClient) in 11.7323ms 2019-03-25 12:32:39.565 +08:00 [INF] Request finished in 14.3843ms 200 text/html; charset=utf-8 ``` 观察对比两种环境下的cookie,发现部署后从IdentityServer跳转到MvcClient/signin-oidc后少了两个cookie: .AspNetCore.Identity.Application idsrv.session ---- 从IdentityServer4官方的示例代码来看,其示例代码可能还无法直接应用于部署环境,在startup.cs中有一段代码: ``` if (Environment.IsDevelopment()) { builder.AddDeveloperSigningCredential(); } else { throw new Exception("need to configure key material"); } ``` 由此可见sigin-oidc的404问题有可能是解密凭据引起的。但是我对ASP.net core源码了解太少,提供上述信息希望能够得到大神的指点。 2019-03-29更新:AddDeveloperSigningCredential会生成RSA加密证书,使得程序能够正常运行,虽然其安全性会比较差。详见[IdentityServer4部署到服务器,配置证书问题](https://www.jianshu.com/p/1b82f6d2644e "")。因此AddDeveloperSigningCredential并非导致本次问题的原因。 ---- 2019-03-26更新: 如果把IdentityServer4.Samples\Quickstarts\4_ImplicitFlowAuthenticationWithExternal示例部署到同样的环境,发现能够运行通过。但是如果改为Hybrid模式就会出现signin-oidc 404 Not Found的问题。 identityserver.config.cs代码: ``` // OpenID Connect hybrid flow client (MVC) new Client { ClientId = "mvc", ClientName = "MVC Client", // 能正常部署运行: AllowedGrantTypes = GrantTypes.Implicit, // 会出现404问题: AllowedGrantTypes = GrantTypes.Hybrid, ClientSecrets = { new Secret("secret".Sha256()) }, RedirectUris = { "http://www.someweb.cn/signin-oidc" }, PostLogoutRedirectUris = { "http://www.someweb.cn/signout-callback-oidc" }, AllowedScopes = { IdentityServerConstants.StandardScopes.OpenId, IdentityServerConstants.StandardScopes.Profile, "api1" }, AllowOfflineAccess = true } ``` MvcClient.startup.cs: ``` { options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "oidc"; }) .AddCookie("Cookies") .AddOpenIdConnect("oidc", options => { options.SignInScheme = "Cookies"; options.Authority = "https://identity.someweb.cn"; options.RequireHttpsMetadata = false; options.ClientId = "mvc"; options.ClientSecret = "secret"; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.Scope.Add("offline_access"); options.ClaimActions.MapJsonKey("website", "website"); // 能够正常部署运行: options.ResponseType = "id_token"; // 会发生signin-oidc 404错误: options.Scope.Add("api1"); options.ResponseType = "code id_token"; // 会发生"invalid_scope" 错误: options.Scope.Add("api1"); options.ResponseType = "id_token"; }); ``` 现在虽然已经知道Hybrid模式下公网部署才会出现错误,但究竟是我对client的配置错误还是IS4的bug所引起的问题并不清楚。 我试过AddCors,但并没有解决以上问题。
ASP.NET页面间传值 绑定到gridview显示
本人ASP.NET新手,正在做一个ASP.NET的报名系统。想实现在A页面填写学生信息,然后跳转到B页面,显示到B页面的gridview控件,待学生修改确定后再传入数据库。不知道应该怎么传值?有什么好的办法吗?先谢谢大家
Asp.net core下的UserManager如何扩展功能?
基于IdentityServer4示例代码部署了一套SSO并实现QQ第三方登录之后,想在IS4基础之上再扩展一下身份服务的功能。大致的想法是: 1.给IdentityUser增加一些常用的字段,比如微信昵称、QQ昵称; 2.增加几个不太常用的表,比如详细个人信息、个人认证情况等,一般对应于App上第二层子菜单里面的内容。 第一个想法比较容易实现,只要实现一个继承IdentityUser的子类,然后在用到IdentityUser泛型类的地方(比如UserManager<IdentityUser>)替换成新的子类就可以了(如UserManager<NewUser>)。 第二个想法,则有很多实现方法,我能想到的有比如写一个新的DbContext去连接新增的数据表,然后再写新的Manager和UserStore代码去实现想要的方法即可。但是,是不是有可能扩展原来的UserManager、UserStore、ApplicationDbContext这样一种做法呢? 要扩展UserManager,我看下来大致有继承方式、extension方式。不过从IS4示例代码来看,似乎注入新的manager会出现不少麻烦。 示例代码添加UserManager和UserStore是通过以下代码完成的: ``` services .AddIdentity<IdentityUser, IdentityRole>(null) .AddImadyEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); ``` 查看Asp.Net Core的源码可以看到,AddIdentity扩展方法添加了一串诸如各种Validator的服务后添加了UserManager: ``` ...... services.TryAddScoped<UserManager<IdentityUser>>(); services.TryAddScoped<SignInManager<IdentityUser>>(); ...... ``` 而UserStore则是在AddImadyEntityFrameworkStores中完成的: ``` ...... AddStores(builder.Services, builder.UserType, builder.RoleType, typeof(TContext)); ...... ``` 于是我想,是否可以自己写两个新的IServiceCollection扩展方法,替换掉AddIdentity和AddImadyEntityFrameworkStores就能为所欲为了呢? 实际操作下来发现没有这么简单,运行时各种服务解析问题的报错。主要是Asp.Net Core代码中向框架大量请求了UserManager和IUserStore,而UserManager注入是不通过接口方式的,IUserStore则是AddImadyEntityFrameworkStores扩展方法中通过反射方式添加的注入,反正我是没最终搞定。 所以把这个问题放到问答来,看看各位大牛一般在实战中是如何操作的呢?
asp.net web应用程序 添加一个外部类 访问asp.net页面里的一个txtbox,然后赋值!
外部类 如何访问asp.net页面里的一个控件 添加一个外部类 访问asp.net页面里的一个txtbox,然后赋值!
asp.net core 2.0 mvc debian 页面路径问题
一切按照教程来了,也打开页面,但是点击About和Contact提示找不出页面404错误,这是什么原因,在WIN PC跑起来没有问题。。 ![图片说明](https://img-ask.csdn.net/upload/201802/26/1519649357_691658.png) ![图片说明](https://img-ask.csdn.net/upload/201802/26/1519649377_103216.png)
asp.net DES加密和解密实现方法
asp.net DES加密和解密实现方法,需要代码,加密和解密结果和这个网址一样就可以了http://e-file.arkoo.com/tools/des3.htm
[ASP.NET Core]使用默认IOC容器时,如何手动解析一个实例?
之前用Unity Container 的时候,我可以在代码里写 “Container.Resolve<T,TMap>()”得到一个TMap实例。 在ASP.NET Core中应当怎么写?
ASP.Net 登录跳转问题。
我在做一个ASP.net站点的时候遇到一个问题! 用户输入了正确的账号和密码后,会执行下面这行跳转代码。 Response.Redirect("info.aspx") 但是,我发现,我可以直接在浏览器上输入 127.0.0.1\info.aspx 这样是可以绕过登录验证的。 我应该怎么做,才能不让别人直接打开 info.aspx 或者直接跳转到 404.html 上面呢??
毕设,急需解决。。asp.net页面跳转为什么一次只可以跳转到一个页面
在母版页面设置了跳转的,但是页面只可以跳转一次例如已经跳转到会议室页面,我要在进入公文审批页面就会出现“没有此页面”的错误提示信息。一下是母版里面的代码 ``` <div class="container-fluid"> <div class="row"> <div class="col-lg-2"> <div class="sidebar-nav"> <div class="nav-header" data-toggle="collapse" data-target="#dashboard-menu"><i class="icon-dashboard"></i><a href="MeetingManage/Meeting.aspx" style="color: #000000">会议管理</a></div> <ul id="dashboard-menu" class="nav nav-list collapse in"> <li><a href="MeetingManage/MeetingR.aspx">会议室</a></li> <li><a href="MeetingManage/MeetingA.aspx">会议申请</a></li> <li><a href="MeetingManage/MeetingP.aspx">会议审批</a></li> </ul> <div class="nav-header" data-toggle="collapse" data-target="#accounts-menu"><i class="icon-briefcase"></i><a href="ArticleManage/Article.aspx" style="color: #000000">公文管理</a></div> <ul id="accounts-menu" class="nav nav-list collapse in"> <li><a href="ArticleManage/ArticleA.aspx">公文申请</a></li> <li><a href="ArticleManage/ArticleP.aspx">公文审批</a></li> </ul> <div class="nav-header" data-toggle="collapse" data-target="#settings-menu" style="font-weight: normal"><i class="icon-exclamation-sign"></i> <a href="InformationManage/Iformation.aspx" style="color: #000000"><strong>信息管理</strong></a></div> <ul id="settings-menu" class="nav nav-list collapse in"> <li><a href="InformationManage/PersonalInfo.aspx">个人信息管理</a></li> <li><a href="InformationManage/InformationF.aspx">公告发布</a></li> <li><a href="InformationManage/tianjia.aspx">用户添加</a></li> <li><a href="InformationManage/Message.aspx">站内留言</a></li> <li><a href="javascript:if(confirm('确实要退出系统吗?'))location='Login.aspx'">退出登录</a></li> </ul> </div> </div> <div class="col-lg-10" style="padding-top:30px"> <%--<h1>Dashboard</h1>--%> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> </div> <%--<div class="clearfix visible-xs-block"></div>--%> </div> ```
asp.net mvc4如何实现页面数据导出到Excel表,有完整代码吗?本人新手,求大神
如题,asp.net mvc4如何实现页面数据导出到Excel表,有完整代码吗?本人新手,求大神
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Ol4网格生成以及优化
概述 先描述一下大致场景:以0.05为单元格大小生成网格,并在地图上绘制,绘制的时候需要区分海陆。本文以此需求为契机,简单描述一下该需求的实现以及如何来优化。 效果 实现 优化前 var source = new ol.source.Vector({ features: [] }); var vector = new ol.layer.Vector({ source...
11月19日科技资讯|华为明日发布鸿蒙整体战略;京东宣告全面向技术转型;Kotlin 1.3.60 发布
「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Style 的人工版音频哟。 一分钟速览新闻点! 6G 专家组成员:速率是 5G 的 10 至 100 倍,预计 2030 年商用 雷军:很多人多次劝我放弃WPS,能坚持下来并不是纯粹的商业决定 ...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
程序员该看的几部电影
1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?如何...
蓝桥杯知识点汇总:基础知识和常用算法
文章目录基础语法部分:算法竞赛常用API:算法部分数据结构部分 此系列包含蓝桥杯绝大部分所考察的知识点,以及真题题解~ 基础语法部分: 备战蓝桥杯java(一):一般输入输出 和 快速输入输(BufferedReader&amp;BufferedWrite) 备战蓝桥杯java(二):java编程规范和常用数据类型 备战蓝桥杯java(三):常用功能符以及循环结构和分支结构 备战蓝桥杯java(四...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
实现简单的轮播图(单张图片、多张图片)
前言 刚学js没多久,这篇博客就当做记录了,以后还会完善的,希望大佬们多多指点。ps:下面出现的都是直接闪动,没有滑动效果的轮播图。 单张图片的替换 · ...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
疫情数据接口api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问

相似问题

2
asp.net后台怎么关闭当前iframe窗口回到父页面
1
C# ASP.NET IHttpModule 访问静态资源如html 时 Session 始终为空求,如何解决?
3
Asp.net core identityServer4 回调跳转到signin-oidc得到404 Not Found的问题
2
asp.net中怎样实现点击左侧菜单,右侧显示相应内容?
1
ASP.NET,Response.Redirect跳转出错
2
ASP.NET Web API项目注册登录页面在哪里?
1
asp.net mvc5点击button按钮不能实现页面跳转
0
在asp.net framework中使用NPOI.HWPF读取doc时报异常
2
新安装的visual studio2017为什么没有asp.net core Web应用程序呢?
1
Asp.net core下的UserManager如何扩展功能?
2
在vs2019新建的WPF App(.NET Core)项目中无法使用TextBox控件
2
ASP.Net Core 使用ADO.net 连接多个sqlserver数据库,应该怎么写?
2
asp.net core+EF架构查询数据库时报错
2
.net (mvc,core)上传文件(视频) 如何显示在页面上
2
Asp.Net Core 配合vue Session丢失跳转登录页面
1
[asp.net core 3.0 mvc] 新手问题:在model中创建一个enum,有几个值是数字+中文,报错,该如何正确书写?
2
asp.net core 3.0 新手问题:使用“Scaffold identity”创建了注册登录页面后,如何快速的创建角色“Role“分配功能。
2
asp.net core 3.0 新手问题:在View中,让一个变量的首字母变成大写的函数怎么写?
1
ASP.NET CORE API后端怎么处理前端发过来的OPTIONS请求
1
asp.net core 3.0 新手问题:如何这段带“count” 和 group by的sql代码,怎么转成asp.net core 可用的 linq的代码。