正如你在下面的CSS中看到的,我希望child2在child1之前定位自己.这是因为我正在开发的网站也应该在移动设备上运行,其中child2应位于底部,因为它包含我想要的导航,在移动设备上的内容之下. - 为什么不是2个主页?这是在整个HTML中重新定位的唯一2个div,因此这个微小变化的2个主页是一种矫枉过正.
HTML:
<div id="parent">
<div class="child1"></div>
<div class="child2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
parent { position: relative; width: 100%; }
child1 { width: auto; margin-left: 160px; }
child2 { width: 145px; position: absolute; top: 0px; bottom: 0px; }
Run Code Online (Sandbox Code Playgroud)
child2具有动态高度,因为不同的子网站可以具有更多或更少的导航项.
我知道绝对定位元素已从流中移除,因此被其他元素忽略.
我尝试设置child2父div,但这没有帮助,clearfix也没有.
我的最后一招将是javascript来相应地重新定位两个div,但是现在我将尝试看看是否存在这样做的非javascript方式.
我正在学习渐进式增强功能,我对AJAXifying视图有疑问.在我的MVC 3项目中,我有一个布局页面,一个viewstart页面和两个普通视图.
viewstart页面位于Views文件夹的根目录中,因此适用于所有视图.它指定所有视图都应该_Layout.cshtml用于其布局页面.布局页面包含两个导航链接,每个视图一个.链接用于@Html.ActionLink()将自己呈现给页面.
现在我添加了jQuery并希望劫持这些链接并使用Ajax动态加载页面上的内容.
<script type="text/javascript">
$(function () {
$('#theLink').click(function () {
$.ajax({
url: $(this).attr('href'),
type: "GET",
success: function (response) {
$('#mainContent').html(response);
}
});
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我可以通过两种方式来做到这一点,但我并不特别喜欢这两种方式:
1)我可以获取整个View的内容并将它们放在局部视图中,然后让主视图在渲染时调用局部视图.这样,Request.IsAjaxRequest()在控制器中使用,我可以根据请求是否是Ajax请求返回View()或返回PartialView().我无法将常规视图返回到Ajax请求,因为它将使用布局页面,我将获得注入的布局页面的第二个副本.但是,我不喜欢这个,因为它迫使我创建空视图,其中只有一个@{Html.RenderPartial();}用于标准GET请求.
public ActionResult Index()
{
if (Request.IsAjaxRequest())
return PartialView("partialView");
else
return View();
}
Run Code Online (Sandbox Code Playgroud)
然后在Index.cshtml中执行以下操作:
@{Html.RenderPartial("partialView");}
Run Code Online (Sandbox Code Playgroud)
2)我可以从_viewstart中删除布局指定,并在请求不是Ajax时手动指定它:
public ActionResult Index()
{
if (Request.IsAjaxRequest())
return View(); // Return view with no master.
else
return View("Index", "_Layout"); // Return …Run Code Online (Sandbox Code Playgroud) 在尝试为Google网站站长工具设置我的网站后,我发现我的自定义ASP.NET 404页面未返回404状态代码.它显示了正确的自定义页面并告诉浏览器一切正常.这被认为是软404或假404.谷歌不喜欢这个.所以我发现了很多关于这个问题的文章,但我想要的解决方案似乎没有用.
我想要解决的解决方案是将以下两行添加到自定义404页面的Page_Load方法后面的代码中.
Response.Status = "404 Not Found";
Response.StatusCode = 404;
Run Code Online (Sandbox Code Playgroud)
这不起作用.页面仍然返回200 OK.然而,我发现如果我将以下代码硬编码到设计代码中,它将正常工作.
<asp:Content ID="ContentMain" ContentPlaceHolderID="ContentPlaceHolderMaster" runat="server">
<%
Response.Status = "404 Not Found";
Response.StatusCode = 404;
%>
... Much more code ...
</asp:content>
Run Code Online (Sandbox Code Playgroud)
该页面正在使用母版页.我正在我的web.config中配置自定义错误页面.我真的宁愿使用后面的代码选项但我似乎无法在设计/布局中放入黑客内联代码使其工作.
当我使用内部Web服务器(而不是IIS)从Visual Studio 2008 SP1运行Web应用程序时,我收到上述错误.
完整错误(源文件Default.aspx.cs):
编译器错误消息:CS0433:类型'WebApplication3.Site1'存在于'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_site1.master.cdcab7d2中. muczzy9v.dll'和'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\80dd34ed_6968ca01\WebApplication3.DLL'
前面的完整警告:
警告:CS0436:'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_default.aspx.cdcab7d2._tlkwdos.0中的类型'WebApplication3._Default'. cs'与'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\e096e61c_6568ca01\WebApplication3中的导入类型'WebApplication3._Default'发生冲突.DLL".使用'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs'中定义的类型.
警告源指向中间文件App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs:
Line 162:
Line 163: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 164: public class default_aspx : global::WebApplication3._Default, System.Web.IHttpHandler {
Line 165:
Line 166: private static bool @__initialized;
Run Code Online (Sandbox Code Playgroud)
我的问题:这是从哪里来的?
webapp(不是网站!)有一个Default.aspx和一个Site1.Master,没有依赖项.它们几乎是空的,asp:Label页面上有一个.以前,这个webapp运行良好.当我将Default.aspx.cs中的任何引用删除到master时,一切顺利.主人只有一些代码.
它实际上是许多小小的"即发即弃"测试webapps中的一个,所以我不在乎.但我之前没有看过这个,现在我很好奇该做什么,然后将代码复制到一个新项目中(清洁解决方案没有帮助).
注意:我已阅读此帖和其他一些内容,但不适用.
ContentPage上有一个文本框.当用户在该文本框中按Enter键时,我试图在此ContentPage上触发"提交"按钮.我想点开那个特定按钮的事件.
相反,在MasterPage页面顶部有一个搜索文本框和按钮,此搜索按钮的事件将触发.
如何控制以触发此ContentPage的提交按钮,而不是MasterPage的搜索按钮?
我正在使用Ektron CMS进行内容管理.
这很奇怪.我在Visual Studio 2008中为我的解决方案添加了一个全新的Web应用程序项目.
创建了一个母版页.零修改.创建了一个新的webform.将其母版页设置为刚刚创建的MP.
仍然没有修改.没有标记.没有用户控制.没有参考.没有.但是,当我尝试运行它时,我得到:
Content controls have to be top-level controls in a content page or a nested master page that references a master page.
HttpException (0x80004005): Content controls have to be top-level controls in a content page or a nested master page that references a master page.]
System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection) +8665016
System.Web.UI.Page.get_Master() +51
System.Web.UI.Page.ApplyMasterPage() +15
System.Web.UI.Page.PerformPreInit() +45
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +282
Run Code Online (Sandbox Code Playgroud)
如果我在这个解决方案之外的独立项目中做同样的事情,它可以正常工作.请记住,如果这有任何区别,我正在使用Web应用程序项目与网站项目.
网络形式:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebUI._Default" MasterPageFile="~/Site1.Master" %>
<!DOCTYPE …Run Code Online (Sandbox Code Playgroud) 我一直在扫描,试图找到一个合适的解决方案,为主页面中的菜单项分配"活动/当前"类.关于是否执行此客户端与服务器端,该线路在中间分开.
说实话,我是JavaScript和MVC的新手,所以我没有意见.我更愿意以"最干净"和最恰当的方式做到这一点.
我有以下jQuery代码将"活动"类分配给<li>项...唯一的问题是"索引"或默认视图菜单项将始终分配活动类,因为URL始终是子字符串其他菜单链接:
(default) index = localhost/
link 1 = localhost/home/link1
link 2 = localhost/home/link1
$(function () {
var str = location.href.toLowerCase();
$('#nav ul li a').each(function() {
if (str.indexOf(this.href.toLowerCase()) > -1) {
$(this).parent().attr("class","active"); //hightlight parent tab
}
});
Run Code Online (Sandbox Code Playgroud)
伙计们,有更好的方法吗?有人至少会帮助我获得客户端版本的防弹吗?那么"索引"或默认链接总是"活跃"?有没有办法为索引方法分配假扩展?喜欢而不仅仅是基本URL localhost/home/dashboard,它不会是每个链接的子串?
说实话,我并没有真正遵循做这个服务器端的方法,这就是为什么我试图用jQuery做客户端...任何帮助将不胜感激.
我试图找到一个在特定模式中具有id的span元素.它的主要用途是查找由主页面派生的asp.net(aspx)页面呈现的某些元素.
我有一个母版页,其中包含状态消息的标签.我需要从不同的.aspx页面设置状态文本.如何从内容页面完成?
public partial class Site : System.Web.UI.MasterPage
{
public string StatusNachricht
{
get
{
return lblStatus.Text;
}
set
{
lblStatus.Text = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但是没有成功使它工作:
public partial class DatenAendern : System.Web.UI.Page
{
var master = Master as Site;
protected void Page_Load(object sender, EventArgs e)
{
if (master != null)
{
master.setStatusLabel("");
}
}
protected void grdBenutzer_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
//some code
if (master != null)
{
master.setStatusLabel("Passwort erfolgreich …Run Code Online (Sandbox Code Playgroud) 是否有可能创建一个MVC根应用程序(具有主页和主题的Portal)并添加几个基于WebForms的子项目(我们已经有一个现有的WebForms应用程序,我们想要集成到Portal中)?
您将如何集中导航(站点地图,网址路由)?
你会如何分享这些主页?
您如何参考资源(〜问题等)?
像这里描述的那样的解决方案似乎有些过时了
master-pages ×10
asp.net ×6
asp.net-mvc ×3
c# ×3
code-behind ×1
css ×1
element ×1
find ×1
html ×1
jquery ×1
menu ×1
parent-child ×1
position ×1
razor ×1
sharing ×1
webforms ×1