我使用ASP.NET Web API编写了REST服务。 我试图发送HttpDelete请求,但是我得到以下错误: 405 – 用于访问此页面的HTTP动词不被允许 我认为我接近解决scheme,我发现我应该启用IIS远程pipe理,去处理器映射部分,并添加DELETE动词到适当的位置…但问题是,有很多不同的立场名单…(像这里: http : //www.somacon.com/p126.php )。 我应该编辑哪一个? 他们几乎没有扩展名,例如“ExtensionUrlHandler-Integrated-4.0”,我添加了DELETE动词,但它仍然不工作… 修改那个只是一个黑暗的镜头,我应该修改不同的位置吗? 如果是这样,哪一个? 或者也许还有什么我应该做的? 相同的Web服务工作完全正常我的本地服务,所以我想问题是与远程IIS … 问候
所以控制器上下文取决于一些asp.net内部。 有什么方法可以干净地模拟这些unit testing? 似乎很容易阻塞testing吨设置时,我只需要,例如,Request.HttpMethod返回“GET”。 我在网上看过一些例子/帮手,但有些是过时的。 认为这将是保持最新和最好的一个好地方。 我正在使用最新版本的犀牛嘲笑
反正有一个图像充当ajax动作链接? 我只能使用文本来工作。 谢谢你的帮助!
MvcHtmlString的文档不是非常有启发性的: 表示不应再次编码的HTML编码的string。 我不清楚这到底是什么意思。 看来有些HTML帮助器方法返回一个MvcHtmlString ,但是我在网上看到的一些自定义帮助器的例子只是返回一个常规的string。 问题: 什么是MvcHtmlString ? 什么时候应该selectMvcHtmlString不是string ,反之亦然? 为什么?
我正在为asp.net mvc 3编写一个自定义的授权filter。我需要注入一个用户服务到类,但我不知道如何做到这一点。 public class AuthorizeAttribute : FilterAttribute, IAuthorizationFilter { private IUserService userService; private string[] roles; public AuthorizeAttribute(params string[] roles) { this.roles = roles; } public void OnAuthorization(AuthorizationContext filterContext) { throw new NotImplementedException(); } } 我使用ninject进行dependency injection。 我不想使用工厂或服务定位器模式。 我的绑定在global.acsx中看起来像这样: internal class SiteModule : NinjectModule { public override void Load() { Bind<IUserService>().To<UserService>(); } }
我需要在ASP.NET MVC模型中生成一些URL。 我想调用像UrlHelper.Action(),它使用路由来生成的URL。 我不介意填补通常的空白,如主机名称,scheme等。 有什么方法可以打电话吗? 有没有办法构build一个UrlHelper?
我几乎得到了OpenID使用DotNetOpenAuth库。 现在我希望用户能够使用Facebook和Twitterlogin。 这需要OAuth所以我正在寻找关于如何使用DotNetOpenAuth OAuth的教程。 我无法find一些简单的教程如何做到这一点。 任何人都可以请帮忙?
我有一个控制器在C#使用ASP.Net MVC框架 public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } 我有一些嘲讽的技巧,并希望用以下和RhinoMockstesting代码 var mocks = new MockRepository(); var mockedhttpContext = mocks.DynamicMock<HttpContextBase>(); var mockedHttpRequest = mocks.DynamicMock<HttpRequestBase>(); SetupResult.For(mockedhttpContext.Request).Return(mockedHttpRequest); var controller = new HomeController(); controller.ControllerContext = new ControllerContext(mockedhttpContext, new RouteData(), controller); var result = controller.Index() as ViewResult; Assert.AreEqual("About", […]
我有一个页面: <%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %> 并在其上,如下: <% Html.RenderPartial("TaskList", Model.Tasks); %> 这是DTO对象: public class DTOSearchResults { public string SearchTerm { get; set; } public IEnumerable<Task> Tasks { get; set; } 这里是部分: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %> 当Model.Tasks不为null时,一切工作正常。 然而,当它为空时,我得到: 传入字典的模型项目types为“DTOSearchResults”,但是此字典需要types为“System.Collections.Generic.IEnumerable`1 [Task]”的模型项目。 我觉得它不能知道使用哪个超载,所以我做了这个(见下面)是明确的,但我仍然得到同样的问题! <% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %> 我知道我可以通过检查null,甚至不传递null来解决这个问题,但这不是重点。 为什么发生这种情况?
我正在使用我正在构build的博客上的Facebook评论插件。 它有一些FBXML标签,由页面上引用的facebook javascript解释。 这一切工作正常,但我必须将当前,完全合格的URL传递给插件。 <div style="width: 900px; margin: auto;"> <div id="fb-root"></div> <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments> </div> 获取当前页面的URL的最佳方式是什么? 请求url。 解 这里是我的解决scheme的最终代码: <fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>