Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html PartialView-不在编辑器/显示模板中使用Shared Site.css-ASP.NET MVC 3_Html_Css_Asp.net Mvc 3_Razor_Partial Views - Fatal编程技术网

Html PartialView-不在编辑器/显示模板中使用Shared Site.css-ASP.NET MVC 3

Html PartialView-不在编辑器/显示模板中使用Shared Site.css-ASP.NET MVC 3,html,css,asp.net-mvc-3,razor,partial-views,Html,Css,Asp.net Mvc 3,Razor,Partial Views,我正在开源项目中使用该功能。我这样做是为了学习MVC3(以及各种其他技术)。现在我已经把这些都做好了。问题是每个选项卡中的局部视图都有与相关CRUD功能无关的链接。我已经将这些CRUD视图设置为显示和编辑器模板。正是这些内容没有获取对Site.css的\u Layout.cshtml引用 编辑开始 我在“添加视图”支架功能中发现,当您单击“创建为局部视图”框时,母版页功能将消失,即变灰,但在Razor中,我认为如果这是空的,它将使用加载布局的\u viewstart文件 编辑结束 这是我的Das

我正在开源项目中使用该功能。我这样做是为了学习MVC3(以及各种其他技术)。现在我已经把这些都做好了。问题是每个选项卡中的局部视图都有与相关CRUD功能无关的链接。我已经将这些CRUD视图设置为显示和编辑器模板。正是这些内容没有获取对Site.css的
\u Layout.cshtml
引用

编辑开始

我在“添加视图”支架功能中发现,当您单击“创建为局部视图”框时,母版页功能将消失,即变灰,但在Razor中,我认为如果这是空的,它将使用加载布局的
\u viewstart
文件

编辑结束

这是我的Dashboard.cshtml代码,带有JQuery UI选项卡逻辑:

   <script type="text/javascript">
    $(document).ready(function() {
        $("#tabs").tabs();
        getContentTab (1);
    });

    function getContentTab(index) {
        var url='@Url.Content("~/SiteAdmin/AjaxGetTab")/' + index;
        var targetDiv = "#tabs-" + index;
        var ajaxLoading = "<img id='ajax-loader' src='@Url.Content("~/Content")/ajax-     loader.gif' align='left' height='28' width='28'>";

        $(targetDiv).html("<p>" + ajaxLoading + " Loading...</p>"); 
        $.ajax({
          type: 'get',
          url: url,
          cache: false,
          success: function(result) {
            $(targetDiv).html(result);
          }
        });           


    }
}

现在,“编辑”&Delete
ActionLink
有一个
EditorTemplate
,详细信息有一个
DisplayTemplate
文件夹,其中包含所需的TransactionType.cshtml它是
\u布局
Site.css未应用的这些视图。以下是“编辑”代码库中的示例代码:

\u EditTransactionType.cshtml

@model Accounts.Models.TransactionType
@using (Html.BeginForm())
{
    @Html.EditorForModel()

    <p>
        <input type="submit" value="Save" />
    </p>

 }
@model Accounts.Models.TransactionType
@使用(Html.BeginForm())
{
@Html.EditorForModel()

}
下面是位于/Views/SiteAdmin/EditorTemplate中的TransactionType.cshtml

@model Accounts.Models.TransactionType
交易类型
@LabelFor(model=>model.RecordStatus)
@EditorFor(model=>model.RecordStatus)
@Html.ValidationMessageFor(model=>model.RecordStatus)
@LabelFor(model=>model.Description)
@EditorFor(model=>model.Description)
@Html.ValidationMessageFor(model=>model.Description)

现在我可以在每个模板中引用Site.css,但是有没有更干净的方法呢?我遗漏了什么吗?

我真的不明白你为什么要把使用jqueryui选项卡变得如此复杂,添加一次单击,然后添加一个开关等等

 <div id="tabs">
        <ul>
            <li><a href="@Url.Action("TransactionType", "YourController")"><span>Transaction Type</span></a></li>
            <li><a href="@Url.Action("DirectionType", "YourController")"><span>Direction Type</span></a></li>
            <li><a href="@Url.Action("UserType", "YourController")"><span>User Type</span></a></li>
            <li><a href="@Url.Action("CurrencyType", "YourController")"><span>Currency Type</span></a></li>
       </ul>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        $('#tabs').tabs({
            spinner: '<img src="../../Content/Images/tabsppinner.gif" alt="" /> @Loading...'
        }); 
    });
</script>

$(文档).ready(函数(){ $('#制表符')。制表符({ 微调器:“@正在加载…” }); });

然后,您只需要一个控制器,每个选项卡都定义了操作。

\u ViewStart仅应用于渲染的视图,这取决于您渲染视图的方式。例如,使用RenderPartial或从控制器返回PartialView只返回您所针对的PartialView的内容(和嵌套部分)

如果将_LayoutFile应用于每个视图和每个局部视图,则最终的页面如下所示:

<html>
  <head />

  <body>      
    <html>
      <head />     
      <body>
        <!-- Actual Partial View Content -->
      </body>
    </html>    
  </body>
</html>

当呈现一个页面时,所有的_布局、要呈现的视图、任何局部视图和任何嵌套的局部视图或编辑器/显示模板都被构建到一个页面中,并返回给客户机,所以_布局母版引用的任何样式表都将应用于这个现在已扁平化的(局部)视图继承权


您是否检查了输出HTML以确保其符合预期?视图可能没有问题。

您好,多谢您在帖子中花时间,我今晚将尝试重构,看看这是否有什么不同。我最初关注的是一篇关于学习jQueryUI选项卡的博客文章。我的所有CRUD方法都在一个控制器(SiteAdmin)中,这就是我选择此路由的原因。再次感谢您的关注。我明天会告诉您的,Marc(我有一个野儿子正在吃复活节彩蛋糖!),并让您知道。感谢您花时间回复,非常感谢Hi Marcus,我将控制器更改为返回视图,而不是部分视图,这使我的评论具有正确的样式。今天我学到了一些关于HTML和视图的新知识,谢谢。我正在修改上述内容,以包含解决方案。谢谢
@model Accounts.Models.TransactionType
@using (Html.BeginForm())
{
    @Html.EditorForModel()

    <p>
        <input type="submit" value="Save" />
    </p>

 }
    @model Accounts.Models.TransactionType
    <fieldset>
    <legend>Transaction Type</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.RecordStatus)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.RecordStatus)
        @Html.ValidationMessageFor(model => model.RecordStatus)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.Description)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Description)
        @Html.ValidationMessageFor(model => model.Description)
    </div>
    </fieldset>
 <div id="tabs">
        <ul>
            <li><a href="@Url.Action("TransactionType", "YourController")"><span>Transaction Type</span></a></li>
            <li><a href="@Url.Action("DirectionType", "YourController")"><span>Direction Type</span></a></li>
            <li><a href="@Url.Action("UserType", "YourController")"><span>User Type</span></a></li>
            <li><a href="@Url.Action("CurrencyType", "YourController")"><span>Currency Type</span></a></li>
       </ul>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        $('#tabs').tabs({
            spinner: '<img src="../../Content/Images/tabsppinner.gif" alt="" /> @Loading...'
        }); 
    });
</script>
<html>
  <head />

  <body>      
    <html>
      <head />     
      <body>
        <!-- Actual Partial View Content -->
      </body>
    </html>    
  </body>
</html>