gpt4 book ai didi

c# - razor 网站不工作,所有 dll 都存在

转载 作者:行者123 更新时间:2023-12-02 04:47:50 25 4
gpt4 key购买 nike

我已经将 .cshtml 网站上传到 surftown 服务器,但在运行代码时遇到了一些问题。但是我在运行 Razor 代码时遇到了问题。

这是页面呈现的方式:(Default.cshtml) enter image description here

我已经检查过内部通信问题。这是我的结果: enter image description here

但为什么它不起作用,我该如何解决?

我听说这可能是 View 的问题,但如果是这种情况,我该如何解决?

我的网站文件夹树:(还有一些文件)

  • >应用代码
  • >应用程序数据
    • >包裹
      • >Microsoft.AspNet.Razor.2.0.20710.0
      • >Microsoft.Asp.Net.WebPages.2.0.20710.0
      • >Microsoft.Asp.Net.WebPages.Administration.2.0.20710.0
      • >Microsoft.Asp.Net.WebPages.Data.2.0.20710.0
      • >Microsoft.Asp.Net.WebPages.WebData.2.0.20710.0
      • >Microsoft.Web.Infrastructure.1.0.0.0
      • >NuGet.Core.1.6.2
  • >垃圾桶
  • >包裹
    • >jQuery.2.0.3
      • >内容
        • >脚本
      • >工具
    • >Microsoft.AspNet.Mvc.4.0.30506.0
      • >库
        • >net40
    • >Microsoft.AspNet.Razor.2.0.30506.0
      • >库
        • >net40
    • >Microsoft.AspNet.WebPages.2.0.30506.0
      • >库
        • >net40
  • >页数
    • >章节
      • >读取.cshtml
    • >编辑
      • >移动
        • >章节.cshtml
      • >条目.cshtml
    • >条目
      • >EnterEntry.cshtml
      • >输入注解.cshtml
    • >登录
      • >登录.cshtml
    • >搜索
      • >结果.cshtml
  • >脚本
    • >插件
      • >TinyMCE
  • >样式
    • >CSS
  • >观点
    • >_Layout.cshtml
  • >默认.cshtml

我的 web.config 文件如下所示:

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/>
</buildProviders>
<assemblies>
<add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
<connectionStrings>
<add connectionString="database connection" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>

编辑:我所有的文件都是 .cshtml 有问题吗?并且它们被添加为 MIME 类型 html/text

更多编辑:这是我的 Default.cshtml 代码:

@{
Layout = "~/Views/_Layout.cshtml";
}

<table>
<tr>
<td>
<table>
<tr>
<td>
<h1 class="header">
Welcome to the library
</h1>
</td>
</tr>
<tr>
<td>
<p>
Do look around, to find information about almost anything there is to know about Mythodea, or maybe you are here to make a chapter or note of your own.
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>

还有我的 _Layout.cshtml 代码: @{ //一堆 C# 代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />

<link href="~/Styles/CSS/Layout.css" rel="stylesheet" />

<script src="~/Scripts/Addons/TinyMCE/tinymce.min.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

@RenderSection("head",false)

<title>The Kettle Library of Mythodea</title>
</head>
<body>
<div id="container">
<div id="header">
<h1>
The Library
</h1>
</div>

<div id="left_column">
<div class="innerPadding">
<div id="Menu_Overview">
@Html.Raw(menu)
</div>
</div>
</div>

<div id="right_column">
<div class="innerPadding">
@{
if(!SessionHandler.UserIsLoggedIn)
{
<div class="Login_Wrapper">
<form action="" method="post">
<table>
<tr>
<td>
<p>
Username/Email:
</p>
</td>
<td>
<input class="form_input" type="text" placeholder="Username / Email" tabindex="1" name="username" value="@username" />
</td>
</tr>
<tr>
<td>
<p>
Password:
</p>
</td>
<td>
<input class="form_input" type="password" placeholder="Password" tabindex="2" name="password" />
<a href="#">forgot?</a>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Login" name="btn" />
</td>
<td>
<input type="submit" value="Register" name="btn" />
</td>
</tr>
</table>
</form>
<p class="Error_Message">@message_error</p>
</div>
}
else
{
<div class="Login_Wrapper">
<form action="" method="post">
<p>
@name
</p>
<input type="submit" value="Logout" name="btn" />
</form>
</div>
}
}

<div class="SideMenu_Right">
<div id="search_wrapper">
<form action="" method="post">
<input type="text" name="searchField" placeholder="Search" value="@searchValue" required="required" />
<input type="submit" name="btn" value="Search" />
</form>
</div>

@{
if(SessionHandler.UserIsLoggedIn)
{
<a href="~/Pages/Entries/EnterEntry.cshtml">Create new Chapter</a>
<br />
<br />
}
}

@RenderSection("menu_right", false)
</div>
</div>
</div>
<div id="middle_column">
<div class="innerPadding">
@RenderBody()
</div>
</div>
</div>
<div id="madeBy">
<p>
Created by <a href="https://www.facebook.com/michaeltot.korsgaard" target="_blank">Michael Tot Korsgaard</a>
</p>
</div>
</body>
</html>

最佳答案

您似乎没有使用 MVC 架构。为什么您使用 Pages 而不是 Views我已经看到了您的所有错误,并且一切正常。以这种方式解决部署问题太难了。所以我把在真实服务器上部署 MVC 应用程序的基本说明放在可能有用的地方:

  1. 确保您的应用程序能够在本地主机上正常运行,并且您没有改变正常的应用程序或没有任何不需要的默认应用程序配置错误。
  2. 然后将所需的程序集引用添加到您的项目中,因为按照以下步骤编译/运行其他 MVC 扩展,如 razor:右键单击您的项目 -> 添加可部署依赖项 -> 标记MVC 和 Razor -> OK
  3. 然后再次右键单击您的项目 -> 构建部署包 |然后它就可以发布了。
  4. 然后正常尝试发布过程

到目前为止,您已经配置了与 Windows 服务器一起使用的应用程序,尽管它不支持 MVC 技术,但您的应用程序具有相关的程序集引用以在服务器上运行/编译。现在所有的事情都与服务器和 IIS 配置有关。按照以下说明操作:

  1. 通过 THIS 配置 IIS .(如果您的主机支持这种类型连接)
  2. 如果服务器是你的,请确保你没有异常与相关的应用程序配置和根服务器配置.net 框架。

编辑:

关于 MVC 中的默认页面呈现,请考虑在 Global.asax 文件中我们设置默认路由,如下所示(通过调用 RouteConfigRegisterRoutes 函数类):

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}

在 MVC 架构中,我们不使用传统的 ASP 页面路由,例如使用 Default.cshtml。每个Controller在Views文件夹中调用自己的同名文件夹,根据自己的action方法控制.cshtml子页面。没有可用于重命名应用程序上的默认 View 文件夹的选项。关于母版页考虑默认情况下每个 MVC 应用程序在决定呈现 View 时,首先调用 _ViewStart.cshtml 文件放置在 View 文件夹的根目录 以了解母版页的名称根据_ViewStart内容。在这一步到下一步,我们有主视图和部分 View 概念。

例如,如果您尝试更改 _ViewStart.cshtml 文件的名称(例如 _Start.cshtml),您将在浏览器中看到以下页面:

Error When changing _ViewStart.cshtml file name

因此,在使用 MVC 架构时,您必须遵循一些规则/契约才能构建成功的应用程序。

关于c# - razor 网站不工作,所有 dll 都存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19450710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com