MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)

https://www.cnblogs.com/dansediao/p/5882024.html

MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)

今天Home视图中新增了一个视图,因为不需要设置Layout就没与管他,但是运行起来一看,自动引用了布局,分析了半天 也没看出是哪的错误?

后来尝试着在area中增加了一个同样的视图就没有问题,比较这两个文件夹后发现,Home所在的views文件夹下多了一个_viewstart.cshtml,

打开一看,里面就只有一句代码,如下:

    

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

好吧,瞬间明白了!

 

从网上查了查,了解到这个_viewstart.cshtml是在呈现view时运行的,可以理解为,在加载view之前先运行这个,这个里面设置了layout,所以我的页面中就引用了布局。

问题找到了,解决办法也很简单,在我新增的页面中设置layout=null,如下

    

@{
    Layout = null;
}
1
0
posted @

Test.cshtml 代码
在这里插入图片描述

_TestLayout.cshtml
在这里插入图片描述

显示结果:
在这里插入图片描述

多出了上面红色划线的部分

该部分的内容来自 _viewStart.cshtml
在这里插入图片描述

把该文件名称修改为 _ViewStart1.cshtml
显示结果:
在这里插入图片描述
原因:
如上面的分析:
(自动加载?)
了解到这个_viewstart.cshtml是在呈现view时运行的,可以理解为,在加载view之前先运行这个,这个里面设置了layout,所以我的页面中就引用了布局。

个人感觉奇怪的地方:
页面中引用了 _TestLayout.cshtml
但并没有引用 _ViewStart.cshtml

按照前面作者的介绍 ,在ViewStart 中引用了 Layout.cshtml
页面在加载 Views之前 会自动 加载 ViewStart 所以会出现这个结果。

把viewStart 改为 ViewStart1 后,页面的自动加载则不能生效。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android ,可以使用 `android:gravity` 和 `android:textAlignment` 属性来设置文本内容在 `TextView` 的位置。这两个属性都可以用来控制文本内容在水平和垂直方向上的位置。 `android:gravity` 属性用于控制文本内容相对于 `TextView` 的位置,可以设置为 `center`、`left`、`right`、`top`、`bottom` 等值,例如: ```xml <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello world!" android:gravity="center" /> ``` 在上面的代码,我们使用 `android:gravity="center"` 属性将文本内容设置在 `TextView` 的心位置。你也可以组合使用多个值,例如 `android:gravity="center_vertical|right"`,来同时控制文本内容在水平和垂直方向上的位置。 `android:textAlignment` 属性用于控制文本内容沿着文本行的对齐方式,可以设置为 `center`、`textStart`、`textEnd`、`viewStart`、`viewEnd` 等值,例如: ```xml <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello world!" android:textAlignment="center" /> ``` 在上面的代码,我们使用 `android:textAlignment="center"` 属性将文本内容设置在文本行的心位置。需要注意的是,`android:textAlignment` 属性仅在 Android 4.2 及以上版本可用。 需要注意的是,`android:gravity` 属性用于控制文本内容相对于 `TextView` 的位置,而 `android:textAlignment` 属性用于控制文本内容相对于文本行的位置。因此,如果你需要控制文本内容在 `TextView` 的位置,可以使用 `android:gravity` 属性;如果你需要控制文本内容在文本行的位置,可以使用 `android:textAlignment` 属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值