什么状态的运="服务器"的标签ASP.NET 视?
-
22-07-2019 - |
题
一些文字上的ASP.NET 视状态,"没有目前服务器的标签",即使这MSDN篇文章说,这个时候,上述权利,即声明有一个代码例如与目前服务器的标记在头元素:
和计算器上的话我读
"事实上,你想要使用 "目前=服务器"的控制意味着你 应该做一个传统ASP.NET 应用程序。
当然,在网站上。主页还有目前服务器的属性在ContentPlaceHolders.
我唯一看到的缺席ASP.NET 视方面的目前服务器的普遍存在的形式运="服务器"的标签上的每一个。aspx页/视图。
但是,关于其余的运服务器的标签ASP.NET 视什么人们的意思时,他们说,ASP.NET 视不具有这些?
解决方案
如果使用目前="服务器"的标签上的任何元素,例如DIV它将使该码作为一个单独的 方法 在该汇编的页。
如果你转换的'传统'码一个好主意删除所有目前标记的权利,否则你最终在一个情况下代码如下给你一个错误。
<% foreach (var cat in cats) { %>
<div runat="server">
<span class="name"> <%= cat.name %> </span> is a
<span class="breed"> <%= cat.breed %> </span>
</div>
<% } %>
这个代码将失败告诉你一些疯狂的事有关 'cat'
正在出范围。最终当你看完整产生的代码,你会看到的 <div>
已经产生作为其整自己的方法--这当然是一个不同的范围没有猫在眼前。
回对第二默认的模板电视应用程序:
你会看到当前的模板给你这个的 head
:
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><%= Html.Encode(ViewData["Title"]) %></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
这让我想知道--如果我们使用 <%=语法写入标题中直接进入 title
标签的那么为什么我们需要让它运?
事实证明,因为我怀疑的代码隐藏对 head
看起来对现有价值的内部标题标记(这已经输出这里 <%= Html.Encode(ViewData["Title"]) %>
.如果找到一个(这将是这种情况对所有样品的风景的视模板),那么它不会做任何更进一步。如果没有标题存在(如果可视数据用["标题"]为空或空)它将默认为任何定义在你看的 Title
属性:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/RRMaster.Master"
Title="View Products" AutoEventWireup="true" CodeBehind="ViewProduct.aspx.cs"
Inherits="RR_MVC.Views.Products.ViewProduct" %>
在我的主页,我会除去的 runat='server'
标记-因为我不认为我会永远想要填充我页标题从所查的 Title
财产。但我保持关这样做待菲尔的承诺的博客上张贴对象的情况下运服务器给我任何东西有助于我CSS和JS。
其他提示
他们不意味着你不能使用目前="服务器",而是说它不需要使用服务器侧的控制,一般来说,在视.如果你发现你需要一个服务器-侧的控制,并与它的工作在代码隐藏的和指示,该应用程序是抚育后朝web表单.所有的东西通常会发生在你的代码隐藏shoulo现在处在你的控制器或在视的逻辑本身。
只是读在这个教程:
http://www.asp.net/learn/mvc/tutorial-12-cs.aspx
你需要的
<head runat="server">
能够很容易地定义页标题在你们的意见。
视只是一层上面web表单.我的自web表单的控制也需要头标记可用于服务器端脚注册。这些定制的控制呈现客户方和不使用视图状态或服务器端事件。正因为如此,他们也可以用视与ASPX图的引擎。