デフォルトの_siteLayout.cshtmlファイルがあり、その中央に@RenderBody()
というコールがあり、マークアップとRazorコードの間にあります。デフォルトのsiteLayoutを.aspxのWebページで使用するにはどうすればよいですか?
私は@RenderBody()
への呼び出しを行う場所をレンダリングしたい複雑な.aspxページを持っています。
基本的に、私は新しいファイルのこの内部のような呼び出しを行うしたいと思います:
@{
Layout = "/Shared/_SiteLayout.cshtml";
@RenderPage(Default.aspx);
}
しかし、この場合には.aspxページへの呼び出しを行うことはできません。
これには簡単な解決策はありますか?
のDefault.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="fullcalendar/fullcalendar.css" rel="stylesheet" type="text/css" />
<link href="Styles/dark-hive/jquery.ui.all.css" rel="stylesheet" type="text/css" >
<link href="Styles/jquery-ui-1.7.3.custom.css" rel="stylesheet" type="text/css" />
<link rel='stylesheet' type='text/css' href='fullcalendar/fullcalendar.print.css' media='print' />
<script src="jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery/jquery-ui-1.7.3.custom.min.js" type="text/javascript"></script>
<script src="jquery/jquery.qtip-1.0.0-rc3.min.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<div id="updatedialog" style="font: 70% 'Trebuchet MS', sans-serif; margin: 50px;"
title="Update or Delete Event">
<table cellpadding="0" class="style1">
<tr>
<td class="alignRight">
Name:</td>
<td class="alignLeft">
<input id="eventName" type="text" /><br /></td>
</tr>
<tr>
<td class="alignRight">
Description:</td>
<td class="alignLeft">
<textarea id="eventDesc" cols="30" rows="3" ></textarea></td>
</tr>
<tr>
<td class="alignRight">
Start Time:</td>
<td class="alignLeft">
<span id="eventStart"></span></td>
</tr>
<tr>
<td class="alignRight">
End Time: </td>
<td class="alignLeft">
<span id="eventEnd"></span><input type="hidden" id="eventId" /></td>
</tr>
</table>
</div>
<div id="addDialog" style="font: 70% 'Trebuchet MS', sans-serif; margin: 50px;" title="Add Event">
<table cellpadding="0" class="style1">
<tr>
<td class="alignRight">
Name:</td>
<td class="alignLeft">
<input id="addEventName" type="text" size="50" /><br /></td>
</tr>
<tr>
<td class="alignRight">
Description:</td>
<td class="alignLeft">
<textarea id="addEventDesc" cols="30" rows="3" ></textarea></td>
</tr>
<tr>
<td class="alignRight">
Start Time:</td>
<td class="alignLeft">
<span id="addEventStartDate" ></span></td>
</tr>
<tr>
<td class="alignRight">
End Time:</td>
<td class="alignLeft">
<span id="addEventEndDate" ></span></td>
</tr>
</table>
</div>
<div runat="server" id="jsonDiv" />
<input type="hidden" id="hdClient" runat="server" />
</form>
</body>
</html>
回答ありがとうございます。この場合、@ Html.Partial( "Foo.aspx")を呼び出して、呼び出したい.aspxページ全体をレンダリングすることは可能ですか?それは理想的だろう。 –
いいえ、私はaspxページがあなたが剃刀のレイアウトで持っていないいくつかのコンテンツの場所の所有者をオーバーライドすると思うので、それは可能ではありません。セクションを部分的に外部化し、この部分を再利用するだけです。 –
ありがとうございます。私はあなたが「部分を部分的に外部化し、部分を再利用する」という意味で少し混乱しています。私のメソッドの上部に、 "%@ Page Language =" C# "AutoEventWireup =" true "CodeFile =" Default.aspx.cs "Inherits =" _ Default "%>とDefault.aspxファイルに多数のHTMLが含まれていますDefault.aspx.csファイルには完全にC#が含まれています。初心者の質問に対する謝罪私はちょうどこれをつかむためにいくつかの問題を抱えています。 –