Tag: asp.net mvc

我可以添加一个类到MVC3中的HTML.ActionLink

我有这个代码,并想要添加一个类的链接。 是否有可能在MVC3中做到这一点? Html.ActionLink("Create New", "Create")

将JsonRequestBehavior设置为AllowGet时,可以披露什么“敏感信息”

当我returning Json (使用内置的MVC JsonResult helper )时,每次从浏览器的地址栏中testing一个新的URL ,我都得到了相同的旧错误: 此请求已被阻止,因为在GET request使用此信息时,敏感信息可能会泄露给第三方网站。 要允许GET requests ,请将JsonRequestBehavior设置为AllowGet 。 而不是咕噜在承认和火焰小提琴做一个职位请求,这一次,我想知道到底什么是一个GET请求公开POST请求不?

Owin Twitterlogin – 根据validation程序,远程证书无效

我最近尝试使用twitterlogin时出现这个错误 – 为什么? Stack Trace: [AuthenticationException: The remote certificate is invalid according to the validation procedure.] System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) +230 System.Net.PooledStream.EndWrite(IAsyncResult asyncResult) +13 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) +123 [WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.] System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +6432446 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) +64

BuildTasks.Csc任务不能从程序集中加载?

我感到内疚在这附近问这样的问题,但我很茫然,并希望得到一些帮助。 在一台PC上构build了一个类似于Web应用程序的概念certificate,并将其放在一个回购站上,以便在另一台PC上的另一个位置下载。 最初有一个自动构buildfunction,Azure会在签入时自动构build和发布,但已被删除。 事情都在两端工作,直到一方包括大量的排除变化。 现在我看到以下错误: “Microsoft.CodeAnalysis.BuildTasks.Csc”任务不能 从程序集加载… \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll。 无法加载文件或程序集'file:/// … \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll'或其依赖项之一。 该系统找不到指定的文件。 确认声明是否正确,程序集及其所有依赖项都可用,并且该任务包含一个实现Microsoft.Build.Framework.ITask的公共类。 有没有人有什么build议从哪里开始寻找这个问题?

使用OWIN Identity从多个API客户端注册Web API 2外部login

我想要下面的架构(我已经为此示例组成了产品名称): 在一台服务器上运行的Web API 2应用程序 http://api.prettypictures.com 在另一台服务器上运行的MVC 5客户端应用程序 http://www.webpics.com 我想要www.webpics.com客户端应用程序使用Pretty Pictures API来: 使用用户名和密码注册新帐户 使用Facebook / Google / Twitter / Microsoft注册新帐户 login 检索图片 除了在Facebook,Google等地注册外部账户外,所有上述作品 我无法制定正确的stream程来从API的单独客户端用户创build外部帐户。 我已经研究了authenticationstream程中可用的大部分文档,如下所示: 我已经在OWIN中的新身份模型上读了几乎所有的东西。 我已经在Visual Studio 2013中研究了SPA模板。它演示了如何完成我所需要的大部分工作,但只有当客户端和API位于同一个主机上时才需要。 如果我想要多个客户端访问我的API,并能够让用户通过谷歌等注册这是行不通的,据我所知,OWIN身份validationstream程中断。 这是目前的stream程: 用户浏览www.webpics.com/Login www.webpics.com调用api.prettypictures.com/Account/ExternalLogins (带有returnUrl设置回到在www.webpics.comcallback),并显示链接到用户 用户点击“Google” 浏览器使用提供商的名称redirect到api.prettypictures.com/Account/ExternalLogin 。 API的ExternalLogin操作实例化对google.com的挑战 浏览器被redirect到google.com 用户input他们的用户名和密码(如果他们还没有login到google.com ) google.com现在提出了安全许可: “api.prettypictures.com”想访问您的电子邮件地址,姓名,妻子,孩子等。这是行吗? 用户点击“ YEP ”, 然后用Google设置的cookie将其带回api.prettypictures.com/Account/ExternalLogin 。 这是我卡住的地方。 接下来应该发生的事情是,应该通知客户端应用程序已经成功通过google.com的身份validation,并被赋予一个单一的访问代码,以便稍后交换访问令牌。 如有必要,客户端应用程序应该有机会提示用户input用户名与其google.comlogin关联。 我不知道如何促进这一点。 事实上,在Google的callback之后,浏览器终于​​坐在了api.prettypictures.com/Account/ExternalLogin端点上。 APIloginGoogle,但客户不知道如何处理。 我应该把这个cookie传回www.webpics.com吗? 在SPA应用程序中,通过AJAX完成, […]

ASP.NET MVC 5与WebMatrix SimpleMembershipProvider不兼容吗?

我们有一个基于ASP.NET MVC 4和Web API的现有应用程序。 该网站的pipe理员部分使用简单成员资格。 我有兴趣将应用程序升级到MVC 5 / Web API 2,以利用已经添加的一些新function。 但看起来他们可能不兼容。 具体来说,在将NuGet中的RC包安装到我的解决scheme中的一个项目中并更新web.config信息之后 ,应用程序在调用WebSecurity.InitializeDatabaseConnection()的行的启动过程中开始死亡,但有以下例外: [MethodAccessException: Attempt by security transparent method 'WebMatrix.WebData.PreApplicationStartCode.OnConnectionOpened(System.Object, WebMatrix.Data.ConnectionEventArgs)' to access security critical method 'System.Web.WebPages.HttpContextExtensions.RegisterForDispose(System.Web.HttpContextBase, System.IDisposable)' failed.] WebMatrix.WebData.PreApplicationStartCode.OnConnectionOpened(Object sender, ConnectionEventArgs e) +70 WebMatrix.Data.Database.OnConnectionOpened() +70 WebMatrix.Data.Database.EnsureConnectionOpen() +51 WebMatrix.Data.Database.QueryValue(String commandText, Object[] args) +63 WebMatrix.WebData.DatabaseWrapper.QueryValue(String commandText, Object[] parameters) +13 WebMatrix.WebData.SimpleMembershipProvider.GetUserId(IDatabase db, String userTableName, String userNameColumn, […]

ASP.NET MVC:隐藏的字段值不会使用HtmlHelper.Hidden呈现

我的应用程序发生了一些非常奇怪的事情: 我在ViewModel中有以下属性: public int? StakeholderId { get; set; } 它在部分视图中呈现如下: <%= Html.Hidden("StakeholderId", Model.StakeholderId) %> 表单被提交,并且相关的控制器动作生成一个id并更新模型,然后返回与更新的模型相同的视图 我遇到的问题是,即使StakeholderId现在有值,隐藏的字段也没有任何第二次呈现的“value”属性。 如果我只是自己输出值,它会显示在页面上,所以我通过这样做来显示值: <input type="hidden" id="StakeholderId" name="stakeholderId" value="<%: Model.StakeholderId %>" /> 但是很奇怪,助手没有拿起更新的值? (我使用jQuery提交表单并将操作结果呈现为div,但是我已经检查过,并且在jQuery执行任何操作之前,我已经得到的html已经是错误的了,所以我不认为这跟这个有很大关系任何东西) UPDATE 我已经发现,我也可以在我的控制器操作返回部分视图之前清除相关的ModelState键。

MVC ASP.NET中的HttpContext.Current和Controller.Context之间的区别

我正在开发一个MVC ASP .NET应用程序。 我对这两个都比较陌生。 在一个控制器中,我试图获取当前用户的日志,对此,似乎有两种方法来做到这一点: System.Web.HttpContext.Current.User.Identity.Name 要么 HttpContext.User.Identity.Name 这些有什么区别? 据我可以告诉内MVC框架控制器有当前HttpContext存储为一个属性,所以这些方法是相同的。 那是对的吗?

我怎样才能用Html.BeginForm()命名一个窗体?

如何使用Html.BeginForm()给ASP.NET MVC中的表单命名? 我只想要名称,而不是操作或控制器名称,因为我想通过Javascript发布。 我认为这应该是像Html.BeginForm(id = "frm") 。 我尝试了以下内容: Html.BeginForm(null,null,new{id="frm",name="frm}) Html.BeginForm(new{@id="frm",@name="frm}) 但是上面的代码产生这样的输出: <form action="/Main/Index/Id?name=Id" method="post">

路由:当前的行动请求在以下行动方法之间不明确

我有一个名为Browse.chtml的视图,用户可以在其中inputsearch词,或者将search词留空。 当inputsearch字词时,我想直接将页面指向http://localhost:62019/Gallery/Browse/{Searchterm} ,当没有input时,我想直接将浏览器指向http://localhost:62019/Gallery/Browse/Start/Here 。 当我尝试这个,我得到的错误: 当前在控制器types“GalleryController”上的“浏览”操作请求在以下操作方法之间是不明确的:System.Web.Mvc.ActionResulttypes为AutoApp_MVC.Controllers.GalleryController的Browse(System.String)System.Web.Mvc.ActionResult Browse (Int32,System.String)typesAutoApp_MVC.Controllers.GalleryController 我用MVC所做的一切都是第一次。 我不确定还有什么要尝试在这一点上。 public ActionResult Browse(string id) { var summaries = /* search using id as search term */ return View(summaries); } public ActionResult Browse(string name1, string name2) { var summaries = /* default list when nothing entered */ return View(summaries); } 我也在Global.asax.cs中有这个: routes.MapRoute( "StartBrowse", "Gallery/Browse/{s1}/{s2}", new { […]