在剃刀视图中添加html元素
本文关键字:html 元素 添加 剃刀 视图 | 更新日期: 2023-09-27 18:28:20
我对剃须刀很陌生,我总是使用aspx页面,我试图创建一个包含2个文本和一个提交按钮的登录表单,然后我试图添加一个带有渐变和hoover的方形菜单,但我被卡住了。
这是我的登录名cshtml:
@model Magazzino.Models.LoginViewModel
@{
ViewBag.Title = "Login";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@if (TempData["message"] != null)
{
<script type="text/javascript">
alert(@Html.Raw(Json.Encode(TempData["message"])));
</script>
}
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<div>
<table>
<tr>
<td>@Html.LabelFor(a => a.Username)</td>
<td>@Html.TextBoxFor(a => a.Username)</td>
<td>@Html.ValidationMessageFor(a => a.Username)</td>
</tr>
<tr>
<td>@Html.LabelFor(a => a.Password)</td>
<td>@Html.PasswordFor(a => a.Password)</td>
<td>@Html.ValidationMessageFor(a => a.Password)</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Login" />
</td>
<td></td>
</tr>
</table>
</div>
}
<div style="background: grey">
<div style="float: left; margin-left: 35%; width: 15%; background: linear-gradient(red, orange);">
<div style="height: 30%; border: 1px solid;">
@Html.ActionLink("Contatti", "Contatti")
</div>
<div style="height: 30%; border: 1px solid;">
@Html.ActionLink("Dove Siamo", "DoveSiamo", null, new { @style = "position: relative; top: 90%;" })
</div>
</div>
<div style="float: right; margin-right: 35%; width: 15%; text-align: right; background: linear-gradient(green, yellow);">
<div style="height: 30%; border: 1px solid;">
@Html.ActionLink("Informazioni", "Informazioni")
</div>
<div style="height: 30%; border: 1px solid;">
@Html.ActionLink("Chi Siamo", "ChiSiamo", null, new { @style = "position: relative; top: 90%;" })
</div>
</div>
通过这种方式,谷歌和firefox以正常方式使用actionlink渲染div,但IE不渲染高度,所以我添加了一个布局页面:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
@RenderSection("scripts", required: false)
现在IE、Chrome和Firefox正在用没有高度的操作来渲染div,我想这不是放置未链接到表单的HTMl元素的正确方法,但我如何将其他HTMl元素放在已经有表单的剃刀页面中?
感谢
我认为这主要是css和html的问题。
-
- 我没有看到
<div style="background: grey">
的结束标记,我会验证它是否正确关闭
- 我没有看到
-
- 您有两个浮动div,在关闭
<div style="background: grey">
标记之前,我会添加一个额外的标记<div style='clear:both'>
。这将清除该点之后的浮动
- 您有两个浮动div,在关闭
-
- 在1。和2.,如果你看不到灰色背景,我会怀疑内部div覆盖了背景,如果是这样,我会在父标记中添加一些填充,例如
<div style="background: grey; padding: 10px;">
- 在1。和2.,如果你看不到灰色背景,我会怀疑内部div覆盖了背景,如果是这样,我会在父标记中添加一些填充,例如