小编Dap*_*anh的帖子

ASP.Net MVC4 Root cshtml和"不从'System.Web.WebPages.WebPage继承"

我已经按照下面列出的步骤中的非常相似的帖子提供了答案.

我仍然有相同的错误消息"不从'System.Web.WebPages.WebPage'继承"

概观

我正在学习John Papa在Pluralsight上的"单页应用程序HTML5,Web API,Knockout和jQuery".该课程概述了构建名为"Code Camper"的应用程序.示例MVC4 SPA创建一个名为"index.cshtml"的根视图.进行一系列@RenderPage调用.这个应用程序在我的开发机上运行良好.但是,如果我尝试从头开始创建一个带有根view.cshtml的MVC4 SPA我总是得到错误"不从'System.Web.WebPages.WebPage继承"

一步步

在这里下载.

1.创建一个名为"MVC4RootView"的新MVC4 Internet项目

2.在项目的根目录中,创建一个RootView.cshtml视图.

@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>
    <div>
            @RenderPage("Views/Partial1.cshtml")
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

3.添加了一个"〜/ Views/Partial1.cshtml",只有一个简单的div

<div>Hello from Partial 1</div>
Run Code Online (Sandbox Code Playgroud)

4.Modified root Web.Config webpages:启用为true.

<add key="webpages:Enabled" value="true" />
Run Code Online (Sandbox Code Playgroud)

5.将system.web.webPages.razor添加到root Web.config

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing" />
    </namespaces> …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor

17
推荐指数
1
解决办法
2万
查看次数

从WebAPI控制器问题调用SignalR集线器

我无法弄清楚如何通过WebAPI ApiController调用SignalR集线器.我已经在这里整理了一个样本,可以简化问题并演示问题.

  1. 我从ASP.NET MVC WebAPI模板创建了一个新项目.
  2. 我在名为ChatHub的项目中添加了一个新的SignalR Hub.
  3. 添加了一个HTML页面,该页面在加载时连接到ChatHub,加入组并向该组发送消息.这非常有效.
  4. HTML页面还有一个按钮,单击该按钮将触发对ValuesController的post方法的ajax调用.在ValuesController的post方法中,我想向组中所有连接的客户端广播一条消息.我不能让这个工作.

我有一个简单的SignalR集线器,只有两种方法.

[HubName("chat")]
public class ChatHub : Hub
{
    public void Join(string room)
    {
        // NOTE: this is not persisted - ....
        Groups.Add(Context.ConnectionId, room);
    }

    public void Send(string room, string message)
    {
        var msg = String.Format(
            "{0}: {1}", Context.ConnectionId, message);
        Clients.Group(room).newMessage(msg);
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个非常简单的HTML页面,当DOM准备好时,它连接到聊天中心,如下所示.

<html>
<head>
    <title>Simple Chat</title>
    <script src="Scripts/jquery-1.8.2.js" type="text/javascript"></script>
    <script src="Scripts/jquery.signalR-1.0.0.js"></script>
    <script src="signalr/hubs"></script>
    <script type="text/javascript">
        var chat;

        //$(function () {
        //    connectToHubs();
        //});
        $(connectToHubs);
        function connectToHubs() {
            $.connection.hub.logging …
Run Code Online (Sandbox Code Playgroud)

c# signalr

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

razor ×1

signalr ×1