我一直在寻找通过尝试find某种方式来redirect到另一个控制器的Index视图。 public ActionResult Index() { ApplicationController viewModel = new ApplicationController(); return RedirectToAction("Index", viewModel); } 这是我现在所尝试的。 现在我得到的代码有一个ActionLink链接到我需要Redirect的页面。 @Html.ActionLink("Bally Applications","../Application")
我创build了一个ASP.NET MVC 3项目,并且在开发时使用IIS Express作为Web服务器。 当我尝试debugging时,我收到下面的错误消息。 这怎么解决? “/”应用程序中的服务器错误。 访问被拒绝。 说明:访问提供此请求所需的资源时发生错误。 服务器可能未configuration为访问所请求的URL。 错误消息401.2 .:未经授权:login失败,由于服务器configuration。 validation您是否有权根据您提供的凭据以及Web服务器上启用的身份validation方法来查看此目录或页面。 联系Web服务器的pipe理员以获取更多帮助。
它们是一样的吗? 刚刚完成观看罗布·康纳利的店面教程 ,他们似乎是类似的技术。 我的意思是,当我实现一个DAL对象,我有GetStuff,添加/删除等方法,我总是先写接口,以便我可以稍后切换数据库。 我混淆的东西?
在一个常规的MVC控制器中,我们可以用FileContentResult输出pdf。 public FileContentResult Test(TestViewModel vm) { var stream = new MemoryStream(); //… add content to the stream. return File(stream.GetBuffer(), "application/pdf", "test.pdf"); } 但是我们怎样才能把它变成一个ApiController呢? [HttpPost] public IHttpActionResult Test(TestViewModel vm) { //… return Ok(pdfOutput); } 这是我已经尝试过,但似乎没有工作。 [HttpGet] public IHttpActionResult Test() { var stream = new MemoryStream(); //… var content = new StreamContent(stream); content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); content.Headers.ContentLength […]
如何设置我的ASP.NET MVC 4项目的默认控制器,而不使它HomeController ? 应用程序启动时应如何设置默认区域 ?
我注意到Scott Guthrie开始在他的博客上提到Razor,但我不确定这是否适合我的风格。 对于那些习惯于“标准”的ASP.Net标记(内容占位符和内联代码)的人来说,这是一种相当陌生的风格,但是感觉就像很多其他的页面来pipe理,并且对我来说标记不太清晰。 其他民族对此有何感想? 是不是应该在脚手架新的MVC页面时认真考虑这个问题,还是仅仅试图解决一个不存在的问题?
我有一个反伪造令牌的问题:(我已经创build了我自己的用户类,工作正常,但现在我得到一个错误,每当我去/帐户/注册页面。错误是: types为“ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier ”或“ http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider ”的声明是不在提供的ClaimsIdentity上。 要启用基于声明的身份validation的防伪标记支持,请validationconfiguration的声明提供程序是否在其生成的ClaimsIdentity实例上提供了这两个声明。 如果configuration的声明提供程序使用不同的声明types作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig.UniqueClaimTypeIdentifier来configuration它。 我发现这篇文章: AntiForgeryToken: A Claim of Type NameIdentifier or IdentityProvider Was Not Present on Provided ClaimsIdentity 所以我改变了我的Application_Start方法: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email; } 但是当我这样做,我得到这个错误: 提供的ClaimsIdentity中没有“ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress ”types的声明。 有没有人遇到过这个? 如果是这样,你知道如何解决它? 提前欢呼, r3plica 更新1 这是我的自定义用户类: public class Profile : User, IProfile { public Profile() : […]
您更喜欢哪种方法来进行ASP.NET MVCvalidation?为什么? stream利的validation ? 数据注释 ? 任何其他?
我正在尝试MVC4 System.Web.Optimization 1.0 ScriptBundlefunction 。 我有以下configuration: public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { // shared scripts Bundle canvasScripts = new ScriptBundle(BundlePaths.CanvasScripts) .Include("~/Scripts/modernizr-*") .Include("~/Scripts/json2.js") .Include("~/Scripts/columnizer.js") .Include("~/Scripts/jquery.ui.message.min.js") .Include("~/Scripts/Shared/achievements.js") .Include("~/Scripts/Shared/canvas.js"); bundles.Add(canvasScripts); } } 和以下看法: <script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script> BundlePaths.CanvasScripts是"~/bundles/scripts/canvas" 。 它呈现这个: <script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script> 到目前为止这么好,除了~/Scripts/Shared/achievements.js是捆绑源代码中的第一个脚本。 它依赖于ScriptBundle之前包含的每个脚本。 我怎样才能确保它能够遵循我向包中添加include语句的顺序? 更新 这是一个相对较新的ASP.NET MVC 4应用程序,但它引用了优化框架预发布包。 我删除它,并从http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加RTM包。 使用web.config中的debug = true的RTM版本, @Scripts.Render("~/bundles/scripts/canvas")以正确的顺序呈现各个脚本标记。 […]
我需要从控制器A调用控制器B操作FileUploadMsgView,并且需要传递一个参数。 Code—its not going to the controller B's FileUploadMsgView(). In ControllerA private void Test() { try {//some codes here ViewBag.FileUploadMsg = "File uploaded successfully."; ViewBag.FileUploadFlag = "2"; RedirectToAction("B", "FileUploadMsgView", new { FileUploadMsg = "File uploaded successfully" }); } In ControllerB receiving part public ActionResult FileUploadMsgView(string FileUploadMsg) { return View(); }